Interface Java ListIterator

Neste tutorial, aprenderemos sobre a interface Java ListIterator com a ajuda de um exemplo.

A ListIteratorinterface da estrutura de coleções Java fornece a funcionalidade para acessar elementos de uma lista.

É bidirecional. Isso significa que nos permite iterar os elementos de uma lista em ambas as direções.

Ele estende a Iteratorinterface.

A Listinterface fornece um listIterator()método que retorna uma instância da ListIteratorinterface.

Métodos de ListIterator

A ListIteratorinterface fornece métodos que podem ser usados ​​para realizar várias operações nos elementos de uma lista.

  • hasNext() - retorna verdadeiro se existir um elemento na lista
  • next() - retorna o próximo elemento da lista
  • nextIndex()retorna o índice do elemento que o next()método irá retornar
  • previous() - retorna o elemento anterior da lista
  • previousIndex()- retorna o índice do elemento que o previous()método retornará
  • remove()- remove o elemento retornado por next()ouprevious()
  • set()- substitui o elemento retornado por next()ou previous()pelo elemento especificado

Exemplo 1: Implementação de ListIterator

No exemplo abaixo, implementamos os métodos next(), nextIndex()e hasNext()da ListIteratorinterface em uma lista de array.

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator 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()); ) ) 

Resultado

ArrayList: (1, 3, 2) Próximo elemento: 1 Posição do próximo elemento: 1 Existe algum próximo elemento? verdade

Exemplo 2: Implementação de ListIterator

No exemplo abaixo, implementamos os métodos previous()e previousIndex()da ListIteratorinterface em uma lista de array.

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator 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); ) ) 

Resultado

 ArrayList: (1, 3, 2) Elemento anterior: 3 Posição do elemento anterior: 0 

No exemplo acima, inicialmente, a instância de Iteratorera antes de 1. Como não havia nenhum elemento antes de 1, chamar o previous()método lançará uma exceção.

Em seguida, usamos os next()métodos 2 vezes. Agora a Iteratorinstância ficará entre 3 e 2.

Portanto, o previous()método retorna 3.

Artigos interessantes...