English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender a interface Java ListIterator com exemplos.
A interface ListIterator do Java Collection Framework oferece a funcionalidade de acesso aos elementos da lista.
É bidirecional. Isso significa que ele permite que iteremos pelos elementos da lista em ambas as direções.
Ela herda a interface Iterator.
A interface List oferece o método ListIterator() que retorna uma instância da interface ListIterator.
A interface ListIterator oferece métodos que podem ser usados para executar várias operações em elementos da lista.
hasNext() - Se houver elementos na lista, retornar true
next() - Retornar o próximo elemento da lista
nextIndex() - Retornar o índice do elemento que o método next() retornará
previous() - Retornar o elemento anterior da lista
previousIndex()- Retornar o índice do elemento que o método previous() retornará
remove()- Remover o elemento retornado por next() ou previous()
set() - Substituir o elemento retornado por next() ou previous() pelo elemento especificado
Neste exemplo, implementamos os métodos next(), nextIndex() e hasNext() da interface ListIterator em uma lista de arrays.
import java.util.ArrayList; import java.util.ListIterator; class Main { public static void main(String[] args) { //Criar um ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); //Criar uma instância de ListIterator ListIterator<Integer> iterate = numbers.listIterator(); //Usar o método next() int number1 = iterate.next(); System.out.println("Próximo elemento: "); + number1); //Usar nextIndex() int index1 = iterate.nextIndex(); System.out.println("Posição do próximo elemento: "); + index1); //Usar o método hasNext() System.out.println("Há mais um elemento? "); + iterate.hasNext()); } }
Resultados de Saída
ArrayList: [1, 3, 2] Próximo elemento: 1 Posição do próximo elemento: 1 Há mais um elemento? true
Neste exemplo, implementamos os métodos previous() e previousIndex() da interface ListIterator em uma lista de arrays.
import java.util.ArrayList; import java.util.ListIterator; class Main { public static void main(String[] args) { //Criar um ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); //Criar uma instância de ListIterator ListIterator<Integer> iterate = numbers.listIterator(); iterate.next(); iterate.next(); //Usando o método previous() int number1 = iterate.previous(); System.out.println("Elemento anterior: ") + number1); //Usando previousIndex() int index1 = iterate.previousIndex(); System.out.println("Posição do elemento anterior: ") + index1); } }
Resultados de Saída
ArrayList: [1, 3, 2] Elemento anterior: 3 Posição do elemento anterior: 0
No exemplo acima, a instância inicial do iterador está na posição1Antes. Porque no1Antes de não haver elementos, então a chamada do método previous() lançará uma exceção.
Em seguida, usamos next()2Este método. Agora, a instância do Iterator estará3para2entre
Portanto, o método previous() retorna3.