Java : ListIterator con ejemplos

ListIterator (Java SE 21 & JDK 21) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de ListIterator<E>.

Nota :


Summary

Un iterador para listas que permite al programador recorrer la lista en cualquier dirección, modificar la lista durante la iteración y obtener la posición actual del iterador en la lista. (Traducción automática)

Class diagram

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

final var iterator = list.listIterator();

System.out.println("-- next --");
while (iterator.hasNext()) {
    final var value = iterator.next();
    System.out.println(value);
}

// Result
// ↓
//-- next --
//aaa
//bbb
//ccc

System.out.println("-- previous --");
while (iterator.hasPrevious()) {
    final var value = iterator.previous();
    System.out.println(value);
}

// Result
// ↓
//-- previous --
//ccc
//bbb
//aaa

Methods

void add (E e)

Inserta el elemento especificado en la lista (operación opcional). (Traducción automática)

final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");

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

final var iterator = list.listIterator();
while (iterator.hasNext()) {
    final var value = iterator.next();
    iterator.add(value.toUpperCase());
}

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

boolean hasNext ()

Devuelve verdadero si este iterador de lista tiene más elementos al recorrer la lista en dirección hacia adelante. (Traducción automática)

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

final var iterator = list.listIterator();

System.out.println("-- next --");
while (iterator.hasNext()) {
    final var index = iterator.nextIndex();
    final var value = iterator.next();
    System.out.printf("index = %d, value = %s%n", index, value);
}

// Result
// ↓
//-- next --
//index = 0, value = aaa
//index = 1, value = bbb
//index = 2, value = ccc

boolean hasPrevious ()

Devuelve verdadero si este iterador de lista tiene más elementos al recorrer la lista en dirección inversa. (Traducción automática)

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

final var iterator = list.listIterator(list.size());

System.out.println("-- previous --");
while (iterator.hasPrevious()) {
    final var index = iterator.previousIndex();
    final var value = iterator.previous();
    System.out.printf("index = %d, value = %s%n", index, value);
}

// Result
// ↓
//-- previous --
//index = 2, value = ccc
//index = 1, value = bbb
//index = 0, value = aaa

E next ()

Devuelve el siguiente elemento de la lista y avanza la posición del cursor. (Traducción automática)

Please see hasNext().

int nextIndex ()

Devuelve el índice del elemento que sería devuelto por una llamada posterior a next(). (Traducción automática)

Please see hasNext().

E previous ()

Devuelve el elemento anterior de la lista y mueve la posición del cursor hacia atrás. (Traducción automática)

Please see hasPrevious().

int previousIndex ()

Devuelve el índice del elemento que sería devuelto por una llamada posterior a anterior(). (Traducción automática)

Please see hasPrevious().

void remove ()

Elimina de la lista el último elemento devuelto por next() o anterior() (operación opcional). (Traducción automática)

final var list = new ArrayList<Integer>();
Collections.addAll(list, 1, 2, 3, 4, 5, 6);

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

final var iterator = list.listIterator();
while (iterator.hasNext()) {
    final var value = iterator.next();
    if (value % 2 == 0) {
        iterator.remove();
    }
}

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

void set (E e)

Reemplaza el último elemento devuelto por next() o anterior() con el elemento especificado (operación opcional). (Traducción automática)

final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");

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

final var iterator = list.listIterator();
while (iterator.hasNext()) {
    final var value = iterator.next();
    iterator.set(value.toUpperCase());
}

System.out.println(list); // [AAA, BBB, CCC]

Methods declared in Iterator

forEachRemaining

Consulte el siguiente enlace.


Related posts

To top of page