広告

Java : SequencedCollection - API使用例

SequencedCollection (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。


概要

検出順序が明確に定義され、両端での操作をサポートし、逆転可能なコレクション。 順序付けられたコレクションの要素には「見つける」があり、概念上、要素には最初の要素から最後の要素までの線形配列があります。

クラス構成

SequencedCollection は順序を持ち、かつ、逆転可能な Collection です。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addLast("a");
sc.addLast("b");
sc.addLast("c");

System.out.println(sc); // [a, b, c]
System.out.println(sc.reversed()); // [c, b, a]

sc.addFirst("X");
sc.addFirst("Y");
sc.addFirst("Z");

System.out.println(sc); // [Z, Y, X, a, b, c]
System.out.println(sc.reversed()); // [c, b, a, X, Y, Z]

メソッド

default void addFirst (E e)

このコレクションの最初の要素として要素を追加します (オプションの操作)。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addFirst("aaa");
System.out.println(sc); // [aaa]

sc.addFirst("bbb");
System.out.println(sc); // [bbb, aaa]

sc.addFirst("ccc");
System.out.println(sc); // [ccc, bbb, aaa]

default void addLast (E e)

このコレクションの最後の要素として要素を追加します (オプションの操作)。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addLast("aaa");
System.out.println(sc); // [aaa]

sc.addLast("bbb");
System.out.println(sc); // [aaa, bbb]

sc.addLast("ccc");
System.out.println(sc); // [aaa, bbb, ccc]

default E getFirst ()

このコレクションの最初の要素を取得します。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addLast("aaa");

System.out.println(sc); // [aaa]
System.out.println(sc.getFirst()); // aaa

sc.addLast("bbb");

System.out.println(sc); // [aaa, bbb]
System.out.println(sc.getFirst()); // aaa

sc.addLast("ccc");

System.out.println(sc); // [aaa, bbb, ccc]
System.out.println(sc.getFirst()); // aaa
final SequencedCollection<String> sc = new ArrayList<>();
System.out.println(sc); // []

try {
    final var ret = sc.getFirst();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// 結果
// ↓
//NoSuchElementException!

default E getLast ()

このコレクションの最後の要素を取得します。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addLast("aaa");

System.out.println(sc); // [aaa]
System.out.println(sc.getLast()); // aaa

sc.addLast("bbb");

System.out.println(sc); // [aaa, bbb]
System.out.println(sc.getLast()); // bbb

sc.addLast("ccc");

System.out.println(sc); // [aaa, bbb, ccc]
System.out.println(sc.getLast()); // ccc
final SequencedCollection<String> sc = new ArrayList<>();
System.out.println(sc); // []

try {
    final var ret = sc.getLast();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// 結果
// ↓
//NoSuchElementException!

default E removeFirst ()

このコレクションの最初の要素 (オプションの操作)を削除して返します。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addLast("aaa");
sc.addLast("bbb");
sc.addLast("ccc");

System.out.println(sc); // [aaa, bbb, ccc]

System.out.println(sc.removeFirst()); // aaa
System.out.println(sc); // [bbb, ccc]

System.out.println(sc.removeFirst()); // bbb
System.out.println(sc); // [ccc]

System.out.println(sc.removeFirst()); // ccc
System.out.println(sc); // []
final SequencedCollection<String> sc = new ArrayList<>();
System.out.println(sc); // []

try {
    final var ret = sc.removeFirst();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// 結果
// ↓
//NoSuchElementException!

default E removeLast ()

このコレクションの最後の要素 (オプションの操作)を削除して返します。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addLast("aaa");
sc.addLast("bbb");
sc.addLast("ccc");

System.out.println(sc); // [aaa, bbb, ccc]

System.out.println(sc.removeLast()); // ccc
System.out.println(sc); // [aaa, bbb]

System.out.println(sc.removeLast()); // bbb
System.out.println(sc); // [aaa]

System.out.println(sc.removeLast()); // aaa
System.out.println(sc); // []
final SequencedCollection<String> sc = new ArrayList<>();
System.out.println(sc); // []

try {
    final var ret = sc.removeLast();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// 結果
// ↓
//NoSuchElementException!

SequencedCollection<E> reversed ()

このコレクションの逆順viewを返します。

final SequencedCollection<String> sc = new ArrayList<>();

sc.addLast("aaa");
sc.addLast("bbb");
sc.addLast("ccc");

System.out.println(sc); // [aaa, bbb, ccc]

final var reversedSc = sc.reversed();
System.out.println(reversedSc); // [ccc, bbb, aaa]

System.out.println(reversedSc.reversed()); // [aaa, bbb, ccc]

Collectionで宣言されたメソッド

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray

Java API 使用例 : Collection」をご参照ください。

Iterableで宣言されたメソッド

forEach

Java API 使用例 : Iterable」をご参照ください。


関連記事

ページの先頭へ