Java : LinkedList 示例

Java 中的 LinkedList (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 LinkedList<E> 方法的代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

List 和 Deque 接口的双向链表实现。实现所有可选的列表操作,并允许所有元素(包括 null)。 (机器翻译)

Class diagram

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); // []

Fields declared in AbstractList

modCount

请参阅下面的链接。

Constructors

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]

Methods

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)

将指定元素附加到此列表的末尾。 (机器翻译)

This method is equivalent to addLast(E e).

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);

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); // []

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);

// Result
// ↓
//-- 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);
}

// Result
// ↓
//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);
}

// Result
// ↓
//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);
}

// Result
// ↓
//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);

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

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

    // Result
    // ↓
    //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 ()

从此列表所表示的堆栈中弹出一个元素。 (机器翻译)

This method is equivalent to removeFirst().

void push (E e)

将元素推送到此列表所表示的堆栈上。 (机器翻译)

This method is equivalent to addFirst(E e).

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);
}

// Result
// ↓
//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);
}

// Result
// ↓
//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);
}

// Result
// ↓
//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]

LinkedList<E> reversed ()

返回此集合的反向排序视图。 (机器翻译)

final var list = new LinkedList<>();

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

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

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

System.out.println(reversed.reversed()); // [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);

// Result
// ↓
//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]
}

Methods declared in AbstractSequentialList

iterator

请参阅下面的链接。

Methods declared in AbstractList

equals, hashCode, listIterator, removeRange, subList

请参阅下面的链接。

Methods declared in AbstractCollection

containsAll, isEmpty, removeAll, retainAll, toString

请参阅下面的链接。

Methods declared in Collection

parallelStream, removeIf, stream, toArray

请参阅下面的链接。

Methods declared in Deque

iterator

请参阅下面的链接。

Methods declared in Iterable

forEach

请参阅下面的链接。

Methods declared in List

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

请参阅下面的链接。


相关文章

To top of page