4.7. 順序付けられたコレクション
Red Hat build of OpenJDK 21 では、順序付けられたコレクションを表すための新しいインターフェイスを追加するシーケンスコレクション機能が導入されています。各コレクションには、検出順序が明確に定義されたさまざまな要素があります。この機能は、順序付けられた各コレクションが最初の要素、最後の要素、およびその他の特定の要素にアクセスする方法を統一します。
SequencedCollection
インターフェイス
SequencedCollection
インターフェイスは、コレクション内の最初の要素と最後の要素を追加、取得、または削除するためのメソッドと、コレクションの逆順のビューを取得するためのメソッドを提供します。
interface SequencedCollection<E> extends Collection<E> { // new method SequencedCollection<E> reversed(); // methods promoted from Deque void addFirst(E); void addLast(E); E getFirst(); E getLast(); E removeFirst(); E removeLast(); }
interface SequencedCollection<E> extends Collection<E> {
// new method
SequencedCollection<E> reversed();
// methods promoted from Deque
void addFirst(E);
void addLast(E);
E getFirst();
E getLast();
E removeFirst();
E removeLast();
}
SequencedCollection
インターフェイスは、SortedSet
、NavigableSet
、LInkedHashSet
、List
、および Deque
インターフェイスで実装されます。
SequencedMap
インターフェイス
SequencedMap
インターフェイスは、コレクションの両端のエントリーを取得または削除するためのメソッドを提供します。
interface SequencedMap<K,V> extends Map<K,V> { // new methods SequencedMap<K,V> reversed(); SequencedSet<K> sequencedKeySet(); SequencedCollection<V> sequencedValues(); SequencedSet<Entry<K,V>> sequencedEntrySet(); V putFirst(K, V); V putLast(K, V); // methods promoted from NavigableMap Entry<K, V> firstEntry(); Entry<K, V> lastEntry(); Entry<K, V> pollFirstEntry(); Entry<K, V> pollLastEntry(); }
interface SequencedMap<K,V> extends Map<K,V> {
// new methods
SequencedMap<K,V> reversed();
SequencedSet<K> sequencedKeySet();
SequencedCollection<V> sequencedValues();
SequencedSet<Entry<K,V>> sequencedEntrySet();
V putFirst(K, V);
V putLast(K, V);
// methods promoted from NavigableMap
Entry<K, V> firstEntry();
Entry<K, V> lastEntry();
Entry<K, V> pollFirstEntry();
Entry<K, V> pollLastEntry();
}
SequencedMap
インターフェイスは、SortedMap
、NavigableMap
、および LInkedHashMap
インターフェイスによって実装されます。
詳細は、JEP 431: Sequenced Collections を参照してください。