Interface Java ListIterator
Interface Java ListIterator
Neste tutorial, aprenderemos sobre a interface Java ListIterator com a ajuda de um exemplo.
O
ListIterator interface da estrutura de coleções Java fornece a funcionalidade para acessar elementos de uma lista. É bidirecional. Isso significa que nos permite iterar elementos de uma lista em ambas as direções.
Ele estende o
Iterator interface.
Os
List interface fornece um listIterator() método que retorna uma instância do ListIterator interface. Métodos de ListIterator
O
ListIterator interface fornece métodos que podem ser usados para realizar várias operações nos elementos de uma lista. hasNext()- retorna true se existir um elemento na listanext()- retorna o próximo elemento da listanextIndex()retorna o índice do elemento que onext()método retornaráprevious()- retorna o elemento anterior da listapreviousIndex()- retorna o índice do elemento que oprevious()método retornaráremove()- remove o elemento retornado pornext()ouprevious()set()- substitui o elemento retornado pornext()ouprevious()com o elemento especificado
Exemplo 1:Implementação de ListIterator
No exemplo abaixo, implementamos o
next() , nextIndex() e hasNext() métodos do ListIterator interface em uma lista de arrays.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> iterate = numbers.listIterator();
// Using the next() method
int number1 = iterate.next();
System.out.println("Next Element: " + number1);
// Using the nextIndex()
int index1 = iterate.nextIndex();
System.out.println("Position of Next Element: " + index1);
// Using the hasNext() method
System.out.println("Is there any next element? " + iterate.hasNext());
}
}
Saída
ArrayList: [1, 3, 2] Next Element: 1 Position of Next Element: 1 Is there any next element? true
Exemplo 2:Implementação de ListIterator
No exemplo abaixo, implementamos o
previous() e previousIndex() métodos do ListIterator interface em uma lista de arrays.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> iterate = numbers.listIterator();
iterate.next();
iterate.next();
// Using the previous() method
int number1 = iterate.previous();
System.out.println("Previous Element: " + number1);
// Using the previousIndex()
int index1 = iterate.previousIndex();
System.out.println("Position of the Previous element: " + index1);
}
}
Saída
ArrayList: [1, 3, 2] Previous Element: 3 Position of the Previous Element: 0
No exemplo acima, inicialmente, a instância do
Iterator era antes de 1. Como não havia elemento antes de 1, chame o previous() método lançará uma exceção. Em seguida, usamos o
next() métodos 2 vezes. Agora o Iterator instância estará entre 3 e 2. Portanto, o
previous() método retorna 3. Java