Java : List 示例

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

注解 :

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

简介

有序集合,用户可以精确控制每个元素在列表中的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。 (机器翻译)

Class diagram

final List<String> list = new ArrayList<>();
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

Methods

void add (int index, E element)

将指定元素插入此列表的指定位置(可选操作)。 (机器翻译)

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

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

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

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

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

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

    try {
        list.add(4, "E");
    } catch (IndexOutOfBoundsException e) {
        System.out.println("IndexOutOfBoundsException!");
    }

    // Result
    // ↓
    //IndexOutOfBoundsException!
}

boolean add (E e)

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

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

System.out.println(list.add("a")); // true
System.out.println(list); // [a]

System.out.println(list.add("b")); // true
System.out.println(list); // [a, b]

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

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

将指定集合中的所有元素插入此列表中的指定位置(可选操作)。 (机器翻译)

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

{
    final List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, c]

    try {
        list.addAll(4, List.of("E"));
    } catch (IndexOutOfBoundsException e) {
        System.out.println("IndexOutOfBoundsException!");
    }

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

final List<String> list = new ArrayList<>(src);

// The iteration order of set elements is unspecified.
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 List<String> list = new ArrayList<>();

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 List<String> list = new ArrayList<>();
System.out.println(list); // []

// The iteration order of set elements is unspecified.
System.out.println(list.addAll(Set.of("c1", "c2", "c3"))); // true
System.out.println(list); // [c3, c2, c1]

default void addFirst (E e)

添加一个元素作为此集合的第一个元素(可选操作)。 (机器翻译)

final List<String> list = new ArrayList<>();

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]

default void addLast (E e)

添加一个元素作为此集合的最后一个元素(可选操作)。 (机器翻译)

final List<String> list = new ArrayList<>();

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 List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");

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

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

boolean contains (Object o)

如果此列表包含指定元素,则返回 true。 (机器翻译)

final var list = List.of("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

boolean containsAll (Collection<?> c)

如果此列表包含指定集合的​​所有元素,则返回 true。 (机器翻译)

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

System.out.println(list.containsAll(List.<String>of())); // true

System.out.println(list.containsAll(List.of("a"))); // true
System.out.println(list.containsAll(List.of("a", "b"))); // true
System.out.println(list.containsAll(List.of("b", "a"))); // true
System.out.println(list.containsAll(List.of("c", "b", "a"))); // true

System.out.println(list.containsAll(List.of("d"))); // false
System.out.println(list.containsAll(List.of("a", "d"))); // false
System.out.println(list.containsAll(List.of("a", "b", "c", "d"))); // false

static <E> List<E> copyOf (Collection<? extends E> coll)

返回一个不可修改的列表,其中包含给定 Collection 的元素(按其迭代顺序)。 (机器翻译)

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

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

final var copiedList = List.copyOf(list);
System.out.println(copiedList); // [a, b, c]

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

try {
    copiedList.add("d");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

boolean equals (Object o)

将指定对象与此列表进行比较以确定其是否相等。 (机器翻译)

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

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

final var arrayList = new ArrayList<>(list);
System.out.println(arrayList); // [a, b, c]
System.out.println(list.equals(arrayList)); // true

final var linkedList = new LinkedList<>(list);
System.out.println(linkedList); // [a, b, c]
System.out.println(list.equals(linkedList)); // true
final var list = List.of("a", "b", "c");
System.out.println(list); // [a, b, c]

final var set = new LinkedHashSet<>();
set.add("a");
set.add("b");
set.add("c");

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

E get (int index)

返回此列表中指定位置的元素。 (机器翻译)

final var list = List.of("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 = List.of(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

default E getFirst ()

获取此集合的第一个元素。 (机器翻译)

final List<String> list = new ArrayList<>();

list.addLast("aaa");

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

list.addLast("bbb");

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

list.addLast("ccc");

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

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

// Result
// ↓
//NoSuchElementException!

default E getLast ()

获取此集合的最后一个元素。 (机器翻译)

final List<String> list = new ArrayList<>();

list.addLast("aaa");

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

list.addLast("bbb");

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

list.addLast("ccc");

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

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

// Result
// ↓
//NoSuchElementException!

int hashCode ()

返回此列表的哈希码值。 (机器翻译)

final var list1 = List.of("a", "b", "c");
System.out.println(list1.hashCode()); // 126145

final var list2 = List.of("A", "B", "C");
System.out.println(list2.hashCode()); // 94369

final var list3 = List.of(1, 2, 3);
System.out.println(list3.hashCode()); // 30817

int indexOf (Object o)

返回此列表中第一次出现的指定元素的索引,如果此列表不包含该元素,则返回 -1。 (机器翻译)

final var list = List.of("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

boolean isEmpty ()

如果此列表不包含任何元素,则返回 true。 (机器翻译)

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

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

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

Iterator<E> iterator ()

按正确顺序返回此列表中元素的迭代器。 (机器翻译)

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

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

// Result
// ↓
//aaa
//bbb
//ccc

int lastIndexOf (Object o)

返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回 -1。 (机器翻译)

final var list = List.of("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 ()

返回此列表中元素的列表迭代器(按正确的顺序)。 (机器翻译)

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

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

// Result
// ↓
//aaa
//bbb
//ccc

ListIterator<E> listIterator (int index)

返回此列表中元素的列表迭代器(按正确顺序),从列表中的指定位置开始。 (机器翻译)

final var list = List.of("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
}

static <E> List<E> of ()

返回包含零元素的不可修改列表。 (机器翻译)

final var list = List.of();
System.out.println(list); // []
System.out.println(list.size()); // 0

try {
    list.add("a");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1)

返回包含一个元素的不可修改列表。 (机器翻译)

final var list = List.of("a");
System.out.println(list); // [a]
System.out.println(list.size()); // 1

try {
    list.add("b");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E... elements)

返回包含任意数量元素的不可修改列表。 (机器翻译)

final var list = List.of(
        "a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
        "k", "l", "m", "n"
);
System.out.println(list); // [a, b, c, d, e, f, g, h, i, j, k, l, m, n]
System.out.println(list.size()); // 14

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2)

返回包含两个元素的不可修改列表。 (机器翻译)

final var list = List.of("a", "b");
System.out.println(list); // [a, b]
System.out.println(list.size()); // 2

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3)

返回包含三个元素的不可修改列表。 (机器翻译)

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

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3, E e4)

返回包含四个元素的不可修改列表。 (机器翻译)

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

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3, E e4, E e5)

返回包含五个元素的不可修改列表。 (机器翻译)

final var list = List.of("a", "b", "c", "d", "e");
System.out.println(list); // [a, b, c, d, e]
System.out.println(list.size()); // 5

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3, E e4, E e5, E e6)

返回一个包含六个元素的不可修改列表。 (机器翻译)

final var list = List.of("a", "b", "c", "d", "e", "f");
System.out.println(list); // [a, b, c, d, e, f]
System.out.println(list.size()); // 6

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3, E e4, E e5, E e6, E e7)

返回一个包含七个元素的不可修改列表。 (机器翻译)

final var list = List.of("a", "b", "c", "d", "e", "f", "g");
System.out.println(list); // [a, b, c, d, e, f, g]
System.out.println(list.size()); // 7

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8)

返回包含八个元素的不可修改列表。 (机器翻译)

final var list = List.of("a", "b", "c", "d", "e", "f", "g", "h");
System.out.println(list); // [a, b, c, d, e, f, g, h]
System.out.println(list.size()); // 8

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9)

返回包含九个元素的不可修改列表。 (机器翻译)

final var list = List.of("a", "b", "c", "d", "e", "f", "g", "h", "i");
System.out.println(list); // [a, b, c, d, e, f, g, h, i]
System.out.println(list.size()); // 9

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

static <E> List<E> of (E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10)

返回一个包含十个元素的不可修改列表。 (机器翻译)

final var list = List.of("a", "b", "c", "d", "e", "f", "g", "h", "i", "j");
System.out.println(list); // [a, b, c, d, e, f, g, h, i, j]
System.out.println(list.size()); // 10

try {
    list.add("z");
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

E remove (int index)

删除此列表中指定位置的元素(可选操作)。 (机器翻译)

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

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

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

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

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

    try {
        list.remove(3);
    } catch (IndexOutOfBoundsException e) {
        System.out.println("IndexOutOfBoundsException!");
    }

    // Result
    // ↓
    //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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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 List<String> list = new ArrayList<>(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]
}

boolean removeAll (Collection<?> c)

从此列表中删除指定集合中包含的所有元素(可选操作)。 (机器翻译)

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

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

    System.out.println(list.removeAll(List.<String>of())); // false
    System.out.println(list); // [a, b, a, b, A, B]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.removeAll(List.of("a"))); // true
    System.out.println(list); // [b, b, A, B]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.removeAll(List.of("a", "b"))); // true
    System.out.println(list); // [A, B]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.removeAll(List.of("b", "a"))); // true
    System.out.println(list); // [A, B]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.removeAll(List.of("A"))); // true
    System.out.println(list); // [a, b, a, b, B]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.removeAll(List.of("X", "Y", "Z"))); // false
    System.out.println(list); // [a, b, a, b, A, B]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.removeAll(List.of("A", "X", "Y", "Z"))); // true
    System.out.println(list); // [a, b, a, b, B]
}

default E removeFirst ()

删除并返回此集合的第一个元素(可选操作)。 (机器翻译)

final List<String> list = new ArrayList<>();

list.addLast("aaa");
list.addLast("bbb");
list.addLast("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); // []
final List<String> list = new ArrayList<>();
System.out.println(list); // []

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

// Result
// ↓
//NoSuchElementException!

default E removeLast ()

删除并返回此集合的最后一个元素(可选操作)。 (机器翻译)

final List<String> list = new ArrayList<>();

list.addLast("aaa");
list.addLast("bbb");
list.addLast("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); // []
final List<String> list = new ArrayList<>();
System.out.println(list); // []

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

// Result
// ↓
//NoSuchElementException!

default void replaceAll (UnaryOperator<E> operator)

用对每个元素应用运算符的结果(可选操作)替换此列表的每个元素。 (机器翻译)

final List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("a");
list.add("b");

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

list.replaceAll(String::toUpperCase);
System.out.println(list); // [A, B, A, B]
final List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);

System.out.println(list); // [1, 2, 3, 4]

list.replaceAll(num -> num * num);
System.out.println(list); // [1, 4, 9, 16]

boolean retainAll (Collection<?> c)

仅保留此列表中包含在指定集合中的元素(可选操作)。 (机器翻译)

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

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

    System.out.println(list.retainAll(List.<String>of())); // true
    System.out.println(list); // []
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.retainAll(List.of("a", "b"))); // true
    System.out.println(list); // [a, b, a, b]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.retainAll(List.of("b", "a"))); // true
    System.out.println(list); // [a, b, a, b]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.retainAll(List.of("A"))); // true
    System.out.println(list); // [A]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.retainAll(List.of("X", "Y", "Z"))); // true
    System.out.println(list); // []
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.retainAll(List.of("A", "X", "Y", "Z"))); // true
    System.out.println(list); // [A]
}
{
    final List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, a, b, A, B]

    System.out.println(list.retainAll(List.of("a", "b", "A", "B"))); // false
    System.out.println(list); // [a, b, a, b, A, B]
}

default List<E> reversed ()

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

final List<String> list = new ArrayList<>();

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

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

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

System.out.println(reversedSc.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 List<String> list = new ArrayList<>(src);
    System.out.println(list); // [a, b, c]

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

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

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

    try {
        list.set(3, "D");
    } catch (IndexOutOfBoundsException e) {
        System.out.println("IndexOutOfBoundsException!");
    }

    // Result
    // ↓
    //IndexOutOfBoundsException!
}

int size ()

返回此列表中元素的数量。 (机器翻译)

final var list1 = List.of();
System.out.println(list1); // []
System.out.println(list1.size()); // 0

final var list2 = List.of("a", "b", "c", "X", "Y", "Z");
System.out.println(list2); // [a, b, c, X, Y, Z]
System.out.println(list2.size()); // 6

default void sort (Comparator<? super E> c)

根据指定比较器 (可选操作) 的顺序对此列表进行排序。 (机器翻译)

final var src = List.of(2, 3, 1, 4);

{
    final List<Integer> list = new ArrayList<>(src);
    list.sort(null);
    System.out.println(list); // [1, 2, 3, 4]
}
{
    final List<Integer> list = new ArrayList<>(src);
    list.sort(Comparator.reverseOrder());
    System.out.println(list); // [4, 3, 2, 1]
}

default Spliterator<E> spliterator ()

在该列表中的元素上创建一个 Spliterator。 (机器翻译)

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

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

// Result
// ↓
//aaa
//bbb
//ccc

List<E> subList (int fromIndex, int toIndex)

返回此列表在指定的 fromIndex(包括)和 toIndex(不包括)之间的部分的视图。 (机器翻译)

final List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

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

System.out.println(list.subList(0, 0)); // []
System.out.println(list.subList(0, 1)); // [a]
System.out.println(list.subList(0, 2)); // [a, b]
System.out.println(list.subList(0, 3)); // [a, b, c]
System.out.println(list.subList(0, 4)); // [a, b, c, d]
//list.subList(0, 5); // IndexOutOfBoundsException

final var subList = list.subList(1, 3);
System.out.println(subList); // [b, c]
System.out.println(list); // [a, b, c, d]

subList.set(0, "X");
System.out.println(subList); // [X, c]
System.out.println(list); // [a, X, c, d]

subList.add("Y");
System.out.println(subList); // [X, c, Y]
System.out.println(list); // [a, X, c, Y, d]

subList.remove("c");
System.out.println(subList); // [X, Y]
System.out.println(list); // [a, X, Y, d]

Object[] toArray ()

返回一个按正确顺序包含此列表中所有元素的数组(从第一个元素到最后一个元素)。 (机器翻译)

final var list = List.of("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 = List.of("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 = List.of("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 Collection

parallelStream, removeIf, stream, toArray

请参阅下面的链接。

Methods declared in Iterable

forEach

请参阅下面的链接。


相关文章

To top of page