Java : List with Examples

List (Java SE 21 & JDK 21) with Examples.
You will find code examples on most List<E> methods.


Summary

An ordered collection, where the user has precise control over where in the list each element is inserted. The user can access elements by their integer index (position in the list), and search for elements in the list.

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)

Inserts the specified element at the specified position in this list (optional operation).

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)

Appends the specified element to the end of this list (optional operation).

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)

Inserts all of the elements in the specified collection into this list at the specified position (optional operation).

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)

Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's iterator (optional operation).

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)

Adds an element as the first element of this collection (optional operation).

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)

Adds an element as the last element of this collection (optional operation).

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

Removes all of the elements from this list (optional operation).

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)

Returns true if this list contains the specified element.

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)

Returns true if this list contains all of the elements of the specified collection.

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)

Returns an unmodifiable List containing the elements of the given Collection, in its iteration order.

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)

Compares the specified object with this list for equality.

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)

Returns the element at the specified position in this list.

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

Gets the first element of this collection.

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

Gets the last element of this collection.

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

Returns the hash code value for this list.

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)

Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.

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

Returns true if this list contains no elements.

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

Returns an iterator over the elements in this list in proper sequence.

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)

Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.

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

Returns a list iterator over the elements in this list (in proper sequence).

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)

Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.

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

Returns an unmodifiable list containing zero elements.

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)

Returns an unmodifiable list containing one element.

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)

Returns an unmodifiable list containing an arbitrary number of 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)

Returns an unmodifiable list containing two elements.

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)

Returns an unmodifiable list containing three elements.

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)

Returns an unmodifiable list containing four elements.

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)

Returns an unmodifiable list containing five elements.

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)

Returns an unmodifiable list containing six elements.

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)

Returns an unmodifiable list containing seven elements.

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)

Returns an unmodifiable list containing eight elements.

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)

Returns an unmodifiable list containing nine elements.

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)

Returns an unmodifiable list containing ten elements.

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)

Removes the element at the specified position in this list (optional operation).

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)

Removes the first occurrence of the specified element from this list, if it is present (optional operation).

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)

Removes from this list all of its elements that are contained in the specified collection (optional operation).

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

Removes and returns the first element of this collection (optional operation).

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

Removes and returns the last element of this collection (optional operation).

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)

Replaces each element of this list with the result of applying the operator to that element.

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)

Retains only the elements in this list that are contained in the specified collection (optional operation).

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

Returns a reverse-ordered view of this collection.

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)

Replaces the element at the specified position in this list with the specified element (optional operation).

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

Returns the number of elements in this list.

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)

Sorts this list according to the order induced by the specified Comparator.

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

Creates a Spliterator over the elements in this list.

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)

Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive.

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

Returns an array containing all of the elements in this list in proper sequence (from first to last element).

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)

Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.

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

Please see the link below.

Methods declared in Iterable

forEach

Please see the link below.


Related posts

To top of page