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