Diferencia entre el método next() y hasNext() en las colecciones de Java

En Java, los objetos se almacenan dinámicamente usando objetos. Ahora, para atravesar estos objetos, se utiliza un ciclo for-each, iteradores y comparadores. Aquí se discutirán los iteradores. La interfaz del iterador permite visitar elementos en contenedores uno por uno, lo que indirectamente significa la recuperación de elementos de la colección solo en la dirección de envío.

Esta interfaz se compromete con tres métodos:

  1. Siguiente()
  2. tieneSiguiente()
  3. retirar()

(A) Método hasNext()

El método hasNext() se utiliza para comprobar si queda algún elemento en la Lista. Este método es un método de tipo booleano que devuelve solo verdadero y falso como se explicó, ya que solo se usa con fines de verificación. Los métodos hasNext() de Iterator y List Iterator devuelven verdadero si el objeto de colección sobre el cual se usa para verificar durante el recorrido si el elemento señalador tiene el siguiente elemento. Si no, simplemente devuelve falso. Asi que,

Return Value:
        True  - if iteration has more elements 
        False - if iteration has no more elements

Tipo de retorno: booleano

Ejemplo:

Java

// Java program to demonstrate
// the use of hasNext() method
 
// Importing java input output classes
// Importing all classesfrom
// java.util package
import java.io.*;
import java.util.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList
        // Declaring the ArrayList
        ArrayList<String> list = new ArrayList<String>();
 
        // Adding (appending) new elements at
        // the end of the List
        // Custom inputs
        list.add("Geeks");
        list.add("for Geeks");
 
        // Declaring the Iterator
        Iterator<String> iterator = list.iterator();
 
        // Printing hasNext() values
        // Prints true because iterator has two more values
        System.out.println(iterator.hasNext());
 
        // Go to next value using next() method
        iterator.next();
 
        // Prints true because iterator has one more values
        System.out.println(iterator.hasNext());
 
        // Go to next value using next() method
        iterator.next();
 
        // Prints false because iterator has no more values
        System.out.println(iterator.hasNext());
    }
}
Producción:

true
true
false

(B ) método siguiente()

Si hay un elemento después de donde hasNext() ha devuelto falso en el que se debe realizar alguna ejecución, entonces este método se usa para mostrar ese elemento en el que se supone que la ejecución debe llevarse a cabo con la ayuda de este método. Los métodos next() de Iterator y List Iterator devuelven el siguiente elemento de la colección. Y si es necesario eliminar este elemento, se utiliza el método remove().

Tipo de valor devuelto: Igual que la colección, como ArrayList, Linked List , etc.

Valor devuelto: El siguiente elemento en la iteración.

Excepción: lanza NoSuchElementException si la iteración no tiene más elementos.

Ejemplo:

Java

// Java program to demonstrate
// the use of next() method
 
// Importing java input output classes
import java.io.*;
// Importing all classes from
// java.util package
import java.util.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList
        // (Declaring ArrayList of String type)
        ArrayList<String> list = new ArrayList<String>();
 
        // Adding elements to above List at
        // the end of the list
        // Custom inputs
        list.add("Element1");
        list.add("Element2");
        list.add("Element3");
 
        // Declaring the Iterator
        Iterator<String> iterator = list.iterator();
 
        // Printing values showcasing next() method which
        // shows traversal over elements
        // only in forward direction
 
        // Prints first element traversed
        System.out.println(iterator.next());
 
        // Prints the succeeding element
        System.out.println(iterator.next());
 
        // Prints another eleemnt succeeding
        // to previous element
        System.out.println(iterator.next());
    }
}
Producción:

Element1
Element2
Element3

Publicación traducida automáticamente

Artículo escrito por abhishekr0ut y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *