Java : LinkedList (二重リンク・リスト) - API使用例

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


概要

ListおよびDequeインタフェースの二重リンク・リスト実装です。 リストの任意のオペレーションをすべて実装し、nullを含むすべての要素を許容します。

クラス構成

LinkedList は二重リンク・リストによる List および Deque の実装です。

ArrayList に比べて、インデックスによる要素の追加や削除のパフォーマンスがよくなる場合があります。
もう少し詳しいことは下記の記事もご参照ください。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");
System.out.println(list); // [aaa, bbb, ccc]

System.out.println(list.get(0)); // aaa
System.out.println(list.get(1)); // bbb
System.out.println(list.get(2)); // ccc
final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("xxx");
list.add("yyy");
list.add("zzz");
System.out.println(list); // [xxx, yyy, zzz]

System.out.println(list.removeFirst()); // xxx
System.out.println(list); // [yyy, zzz]

System.out.println(list.removeFirst()); // yyy
System.out.println(list); // [zzz]

System.out.println(list.removeFirst()); // zzz
System.out.println(list); // []

AbstractListで宣言されたフィールド

modCount

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

コンストラクタ

LinkedList ()

空のリストを構築します。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");
System.out.println(list); // [aaa, bbb, ccc]

LinkedList (Collection<? extends E> c)

指定されたコレクションの要素が含まれているリストを、コレクションのイテレータによって返される順序で構築します。

final var c = List.of("aaa", "bbb", "ccc");
System.out.println(c); // [aaa, bbb, ccc]

final var list = new LinkedList<>(c);
System.out.println(list); // [aaa, bbb, ccc]

メソッド

void add (int index, E element)

このリスト内の指定された位置に指定された要素を挿入します。

final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]

{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    list.add(0, "A");
    System.out.println(list); // [A, a, b, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    list.add(1, "B");
    System.out.println(list); // [a, B, b, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    list.add(2, "C");
    System.out.println(list); // [a, b, C, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    list.add(3, "D");
    System.out.println(list); // [a, b, c, D]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    //list.add(4, "D"); // IndexOutOfBoundsException
}

boolean add (E e)

このリストの最後に、指定された要素を追加します。

このメソッドは addLast(E e) と同等です。
API使用例はそちらをご参照ください。

boolean addAll (int index, Collection<? extends E> c)

指定されたコレクション内のすべての要素を、このリストの指定された位置に挿入します。

final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]

{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.addAll(0, List.of("A1", "A2"))); // true
    System.out.println(list); // [A1, A2, a, b, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.addAll(1, List.of("B1", "B2", "B3"))); // true
    System.out.println(list); // [a, B1, B2, B3, b, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.addAll(2, List.of("C1", "C2", "C3", "C4"))); // true
    System.out.println(list); // [a, b, C1, C2, C3, C4, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.addAll(3, List.of())); // false
    System.out.println(list); // [a, b, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    //list.addAll(4, List.of("E")); // IndexOutOfBoundsException
}
final var src = List.of("a", "b", "c");
System.out.println(src);// [a, b, c]

final var list = new LinkedList<>(src);

// Setは順序が保証されません。
System.out.println(list.addAll(3, Set.of("D1", "D2", "D3"))); // true
System.out.println(list); // [a, b, c, D3, D2, D1]

boolean addAll (Collection<? extends E> c)

指定されたコレクション内のすべての要素を、指定されたコレクションのイテレータによって返される順序でこのリストの最後に追加します。

final var list = new LinkedList<String>();

System.out.println(list.addAll(List.of("a1"))); // true
System.out.println(list); // [a1]

System.out.println(list.addAll(List.of("b1", "b2"))); // true
System.out.println(list); // [a1, b1, b2]

System.out.println(list.addAll(List.of("c1", "c2", "c3"))); // true
System.out.println(list); // [a1, b1, b2, c1, c2, c3]

System.out.println(list.addAll(List.of())); // false
System.out.println(list); // [a1, b1, b2, c1, c2, c3]
final var list = new LinkedList<String>();
System.out.println(list); // []

// Setは順序が保証されません。
System.out.println(list.addAll(Set.of("c1", "c2", "c3"))); // true
System.out.println(list); // [c3, c2, c1]

void addFirst (E e)

このリストの先頭に、指定された要素を挿入します。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

void addLast (E e)

このリストの最後に、指定された要素を追加します。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

void clear ()

このリストからすべての要素を削除します。

final var list = new LinkedList<String>();
list.add("a");
list.add("b");
list.add("c");

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

list.clear();
System.out.println(list); // []

Object clone ()

このLinkedListのシャロー・コピーを返します。

final var list = new LinkedList<String>();
list.add("a");
list.add("b");
list.add("c");

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

final var cloned = list.clone();
System.out.println(cloned); // [a, b, c]
System.out.println(cloned.getClass()); // class java.util.LinkedList

boolean contains (Object o)

指定された要素がこのリストに含まれている場合にtrueを返します。

final var list = new LinkedList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]

System.out.println(list.contains("")); // false
System.out.println(list.contains("a")); // true
System.out.println(list.contains("b")); // true
System.out.println(list.contains("c")); // true

System.out.println(list.contains("abc")); // false

Iterator<E> descendingIterator ()

この両端キュー内の要素を逆順で反復処理するイテレータを返します。

final var list = new LinkedList<>(List.of("aaa", "bbb", "ccc"));
System.out.println(list); // [aaa, bbb, ccc]

final var iterator = list.descendingIterator();

System.out.println("-- forEachRemaining --");
iterator.forEachRemaining(System.out::println);

// 結果
// ↓
//-- forEachRemaining --
//ccc
//bbb
//aaa

E element ()

このリストの先頭(最初の要素)を取得しますが、削除はしません。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

System.out.println(list.element()); // bbb
System.out.println(list); // [bbb, ccc]

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

System.out.println(list.element()); // ccc
System.out.println(list); // [ccc]

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

try {
    list.element();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.util.NoSuchElementException

E get (int index)

このリスト内の指定された位置にある要素を返します。

final var list = new LinkedList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]

//list.get(-1); // IndexOutOfBoundsException
System.out.println(list.get(0)); // a
System.out.println(list.get(1)); // b
System.out.println(list.get(2)); // c
//list.get(3); // IndexOutOfBoundsException
final var list = new LinkedList<Integer>();
Collections.addAll(list, 10, 20, 30, 40);
System.out.println(list); // [10, 20, 30, 40]

System.out.println(list.get(0)); // 10
System.out.println(list.get(1)); // 20
System.out.println(list.get(2)); // 30
System.out.println(list.get(3)); // 40

E getFirst ()

このリスト内の最初の要素を返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

System.out.println(list.getFirst()); // bbb
System.out.println(list); // [bbb, ccc]

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

System.out.println(list.getFirst()); // ccc
System.out.println(list); // [ccc]

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

try {
    list.getFirst();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.util.NoSuchElementException

E getLast ()

このリスト内の最後の要素を返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

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

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

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

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

try {
    list.getLast();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.util.NoSuchElementException

int indexOf (Object o)

指定された要素がこのリスト内で最初に検出された位置のインデックスを返します。指定された要素がこのリストにない場合は -1を返します。

final var list = new LinkedList<String>();
Collections.addAll(list, "a", "b", "c", "a", "b", "c");
System.out.println(list); // [a, b, c, a, b, c]

System.out.println(list.indexOf("")); // -1
System.out.println(list.indexOf("a")); // 0
System.out.println(list.indexOf("b")); // 1
System.out.println(list.indexOf("c")); // 2
System.out.println(list.indexOf("d")); // -1
System.out.println(list.indexOf("abc")); // -1

int lastIndexOf (Object o)

指定された要素がこのリスト内で最後に検出された位置のインデックスを返します。指定された要素がこのリストにない場合は -1を返します。

final var list = new LinkedList<String>();
Collections.addAll(list, "a", "b", "c", "a", "b", "c");
System.out.println(list); // [a, b, c, a, b, c]

System.out.println(list.lastIndexOf("")); // -1
System.out.println(list.lastIndexOf("a")); // 3
System.out.println(list.lastIndexOf("b")); // 4
System.out.println(list.lastIndexOf("c")); // 5
System.out.println(list.lastIndexOf("d")); // -1
System.out.println(list.lastIndexOf("abc")); // -1

ListIterator<E> listIterator (int index)

このリスト内の要素を適切な順序で反復するリスト・イテレータ(リスト内の指定された位置で始まる)を返します。

final var list = new LinkedList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]

{
    final var ret = list.listIterator(0);
    ret.forEachRemaining(System.out::println);

    // 結果
    // ↓
    //aaa
    //bbb
    //ccc
}
{
    final var ret = list.listIterator(1);
    ret.forEachRemaining(System.out::println);

    // 結果
    // ↓
    //bbb
    //ccc
}
{
    final var ret = list.listIterator(2);
    ret.forEachRemaining(System.out::println);

    // 結果
    // ↓
    //ccc
}

boolean offer (E e)

指定された要素をこのリストの末尾(最後の要素)に追加します。

final var list = new LinkedList<String>();
System.out.println(list); // []

System.out.println(list.offer("aaa")); // true
System.out.println(list); // [aaa]

System.out.println(list.offer("bbb")); // true
System.out.println(list); // [aaa, bbb]

System.out.println(list.offer("ccc")); // true
System.out.println(list); // [aaa, bbb, ccc]

boolean offerFirst (E e)

このリストの先頭に、指定された要素を挿入します。

final var list = new LinkedList<String>();
System.out.println(list); // []

System.out.println(list.offerFirst("aaa")); // true
System.out.println(list); // [aaa]

System.out.println(list.offerFirst("bbb")); // true
System.out.println(list); // [bbb, aaa]

System.out.println(list.offerFirst("ccc")); // true
System.out.println(list); // [ccc, bbb, aaa]

boolean offerLast (E e)

このリストの末尾に、指定された要素を挿入します。

final var list = new LinkedList<String>();
System.out.println(list); // []

System.out.println(list.offerLast("aaa")); // true
System.out.println(list); // [aaa]

System.out.println(list.offerLast("bbb")); // true
System.out.println(list); // [aaa, bbb]

System.out.println(list.offerLast("ccc")); // true
System.out.println(list); // [aaa, bbb, ccc]

E peek ()

このリストの先頭(最初の要素)を取得しますが、削除はしません。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

System.out.println(list.peek()); // bbb
System.out.println(list); // [bbb, ccc]

System.out.println(list.pollFirst()); // bbb
System.out.println(list); // [ccc]

System.out.println(list.peek()); // ccc
System.out.println(list); // [ccc]

System.out.println(list.pollFirst()); // ccc
System.out.println(list); // []

System.out.println(list.peek()); // null
System.out.println(list); // []

E peekFirst ()

このリストの最初の要素を取得しますが、削除はしません。このリストが空の場合はnullを返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

System.out.println(list.peekFirst()); // bbb
System.out.println(list); // [bbb, ccc]

System.out.println(list.pollFirst()); // bbb
System.out.println(list); // [ccc]

System.out.println(list.peekFirst()); // ccc
System.out.println(list); // [ccc]

System.out.println(list.pollFirst()); // ccc
System.out.println(list); // []

System.out.println(list.peekFirst()); // null
System.out.println(list); // []

E peekLast ()

このリストの最後の要素を取得しますが、削除はしません。このリストが空の場合はnullを返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

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

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

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

System.out.println(list.peekLast()); // bbb
System.out.println(list); // [aaa, bbb]

System.out.println(list.pollLast()); // bbb
System.out.println(list); // [aaa]

System.out.println(list.peekLast()); // aaa
System.out.println(list); // [aaa]

System.out.println(list.pollLast()); // aaa
System.out.println(list); // []

System.out.println(list.peekLast()); // null
System.out.println(list); // []

E poll ()

このリストの先頭(最初の要素)を取得し、削除します。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");

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

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

System.out.println(list.poll()); // bbb
System.out.println(list); // [ccc]

System.out.println(list.poll()); // ccc
System.out.println(list); // []

System.out.println(list.poll()); // null
System.out.println(list); // []

E pollFirst ()

このリストの最初の要素を取得および削除します。このリストが空の場合はnullを返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");

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

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

System.out.println(list.pollFirst()); // bbb
System.out.println(list); // [ccc]

System.out.println(list.pollFirst()); // ccc
System.out.println(list); // []

System.out.println(list.pollFirst()); // null
System.out.println(list); // []

E pollLast ()

リストの最後の要素を取得および削除します。このリストが空の場合はnullを返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");

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

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

System.out.println(list.pollLast()); // bbb
System.out.println(list); // [aaa]

System.out.println(list.pollLast()); // aaa
System.out.println(list); // []

System.out.println(list.pollLast()); // null
System.out.println(list); // []

E pop ()

このリストが表すスタックから要素をポップします。

このメソッドは removeFirst() と同等です。
API使用例はそちらをご参照ください。

void push (E e)

このリストが表すスタック上に要素をプッシュします。

このメソッドは addFirst(E e) と同等です。
API使用例はそちらをご参照ください。

E remove ()

このリストの先頭(最初の要素)を取得し、削除します。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");

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

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

System.out.println(list.remove()); // bbb
System.out.println(list); // [ccc]

System.out.println(list.remove()); // ccc
System.out.println(list); // []

try {
    list.remove();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.util.NoSuchElementException

E remove (int index)

このリストの指定された位置にある要素を削除します。

final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]

{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.remove(0)); // a
    System.out.println(list); // [b, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.remove(1)); // b
    System.out.println(list); // [a, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.remove(2)); // c
    System.out.println(list); // [a, b]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    //list.remove(3); // IndexOutOfBoundsException
}

boolean remove (Object o)

指定された要素がこのリストにあれば、その最初のものをリストから削除します。

final var src = List.of("a", "b", "a", "b", "A", "B");
System.out.println(src); // [a, b, a, b, A, B]

{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.remove("")); // false
    System.out.println(list); // [a, b, a, b, A, B]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.remove("a")); // true
    System.out.println(list); // [b, a, b, A, B]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.remove("b")); // true
    System.out.println(list); // [a, a, b, A, B]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.remove("A")); // true
    System.out.println(list); // [a, b, a, b, B]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.remove("B")); // true
    System.out.println(list); // [a, b, a, b, A]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.remove("C")); // false
    System.out.println(list); // [a, b, a, b, A, B]
}

E removeFirst ()

このリストから最初の要素を削除して返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");

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

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

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

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

try {
    list.removeFirst();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.util.NoSuchElementException

boolean removeFirstOccurrence (Object o)

このリスト内で最初に検出された、指定された要素を削除します(リストを先頭から末尾の方向にトラバースした場合)。

final var list = new LinkedList<>(List.of("aaa", "BBB", "aaa", "BBB", "ccc"));
System.out.println(list); // [aaa, BBB, aaa, BBB, ccc]

System.out.println(list.removeFirstOccurrence("aaa")); // true
System.out.println(list); // [BBB, aaa, BBB, ccc]

System.out.println(list.removeFirstOccurrence("BBB")); // true
System.out.println(list); // [aaa, BBB, ccc]

System.out.println(list.removeFirstOccurrence("XXX")); // false
System.out.println(list); // [aaa, BBB, ccc]

E removeLast ()

このリストから最後の要素を削除して返します。

final var list = new LinkedList<String>();
System.out.println(list); // []

list.add("aaa");
list.add("bbb");
list.add("ccc");

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

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

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

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

try {
    list.removeLast();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.util.NoSuchElementException

boolean removeLastOccurrence (Object o)

このリスト内で最後に検出された、指定された要素を削除します(リストを先頭から末尾の方向にトラバースした場合)。

final var list = new LinkedList<>(List.of("aaa", "BBB", "aaa", "BBB", "ccc"));
System.out.println(list); // [aaa, BBB, aaa, BBB, ccc]

System.out.println(list.removeLastOccurrence("BBB")); // true
System.out.println(list); // [aaa, BBB, aaa, ccc]

System.out.println(list.removeLastOccurrence("aaa")); // true
System.out.println(list); // [aaa, BBB, ccc]

System.out.println(list.removeLastOccurrence("XXX")); // false
System.out.println(list); // [aaa, BBB, ccc]

E set (int index, E element)

このリストの指定された位置にある要素を、指定された要素で置き換えます。

final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]

{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.set(0, "A")); // a
    System.out.println(list); // [A, b, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.set(1, "B")); // b
    System.out.println(list); // [a, B, c]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    System.out.println(list.set(2, "C")); // c
    System.out.println(list); // [a, b, C]
}
{
    final var list = new LinkedList<>(src);
    System.out.println(list); // [a, b, c]

    //list.set(3, "D"); // IndexOutOfBoundsException
}

int size ()

このリスト内にある要素の数を返します。

final var list = new LinkedList<String>();
System.out.println(list); // []
System.out.println(list.size()); // 0

list.add("a");

System.out.println(list); // [a]
System.out.println(list.size()); // 1

list.add("b");
list.add("c");
list.add("d");

System.out.println(list); // [a, b, c, d]
System.out.println(list.size()); // 4

Spliterator<E> spliterator ()

このリスト内の要素に対する遅延バインディングおよびフェイルファスト Spliteratorを作成します。

final var list = new LinkedList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]

final var spliterator = list.spliterator();
spliterator.forEachRemaining(System.out::println);

// 結果
// ↓
//aaa
//bbb
//ccc

Object[] toArray ()

このリスト内のすべての要素を適切な順序で(最初の要素から最後の要素へ)含んでいる配列を返します。

final var list = new LinkedList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]

final Object[] array = list.toArray();
System.out.println(Arrays.toString(array)); // [a, b, c]

<T> T[] toArray (T[] a)

このリスト内のすべての要素を適切な順序で(最初の要素から最後の要素へ)含んでいる配列を返します。返される配列の実行時の型は、指定された配列の型になります。

final var list = new LinkedList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]

final String[] array = list.toArray(new String[0]);
System.out.println(Arrays.toString(array)); // [a, b, c]
final var list = new LinkedList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]

{
    final String[] array = new String[3];
    System.out.println(Arrays.toString(array)); // [null, null, null]

    final var ret = list.toArray(array);
    System.out.println(Arrays.toString(array)); // [a, b, c]
    System.out.println(Arrays.toString(ret)); // [a, b, c]
}
{
    final String[] array = new String[5];
    System.out.println(Arrays.toString(array)); // [null, null, null, null, null]

    final var ret = list.toArray(array);
    System.out.println(Arrays.toString(array)); // [a, b, c, null, null]
    System.out.println(Arrays.toString(ret)); // [a, b, c, null, null]
}
{
    final String[] array = new String[1];
    System.out.println(Arrays.toString(array)); // [null]

    final var ret = list.toArray(array);
    System.out.println(Arrays.toString(array)); // [null]
    System.out.println(Arrays.toString(ret)); // [a, b, c]
}

AbstractSequentialListで宣言されたメソッド

iterator

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

AbstractListで宣言されたメソッド

equals, hashCode, listIterator, removeRange, subList

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

AbstractCollectionで宣言されたメソッド

containsAll, isEmpty, removeAll, retainAll, toString

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

Collectionで宣言されたメソッド

parallelStream, removeIf, stream, toArray

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

Dequeで宣言されたメソッド

iterator

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

Iterableで宣言されたメソッド

forEach

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

Listで宣言されたメソッド

containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList

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


関連記事

ページの先頭へ