¿Cómo iterar LinkedList en Java?

LinkedList en java es básicamente una parte del marco de colección presente en el paquete java.util. Es la implementación de la estructura de datos LinkedList que almacena elementos de manera no contigua dentro de la memoria.

Cinco formas de iterar una LinkedList son:

  1. Uso del bucle for
  2. Usando el ciclo while
  3. Usar bucle for mejorado
  4. Usando iterador
  5. Usando el método forEach()

Método 1: Usando For Loop

Java

// Java program for iterating the LinkedList
// using For loop
  
import java.util.LinkedList;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Creating a LinkedList of Integer type
        LinkedList<Integer> linkedList = new LinkedList<>();
  
        // Inserting some Integer values to our LinkedList
        linkedList.add(40);
        linkedList.add(44);
        linkedList.add(80);
        linkedList.add(9);
  
        // LinkedList after insertions: [40, 44, 80, 9]
  
        // Calling the function to iterate our LinkedList
        iterateUsingForLoop(linkedList);
    }
  
    // Function to iterate the LinkedList using a simple for
    // loop
    public static void
             iterateUsingForLoop(LinkedList<Integer> linkedList)
    {
  
        System.out.print(
            "Iterating the LinkedList using a simple for loop : ");
  
        for (int i = 0; i < linkedList.size(); i++) {
            System.out.print(linkedList.get(i) + " ");
        }
    }
}
Producción

Iterating the LinkedList using a simple for loop : 40 44 80 9

Método 2: usar el bucle while

Podemos iterar nuestra LinkedList usando un ciclo while de una manera muy similar a como lo hicimos usando un ciclo for.

Java

// Java program for iterating the LinkedList
// using while loop
  
import java.util.LinkedList;
  
public class GFG {
    public static void main(String[] args) {
  
        // Creating a LinkedList of Character type
        LinkedList<Character> vowels = new LinkedList<>();
  
        // Inserting some Character values to our LinkedList
        vowels.add('a');
        vowels.add('e');
        vowels.add('i');
        vowels.add('o');
        vowels.add('u');
  
        // LinkedList after insertions: ['a', 'e', 'i', 'o', 'u']
  
        // calling the function to iterate our LinkedList
        iterateUsingWhileLoop(vowels);
    }
  
    // Function to iterate our LinkedList using while loop
    public static void iterateUsingWhileLoop(LinkedList<Character> vowels){
  
        System.out.print("Iterating the LinkedList using while loop : ");
  
        int i=0;
        
        while(i<vowels.size()){
            System.out.print(vowels.get(i) + " ");
            i++;
        }
  
    }
}
Producción

Iterating the LinkedList using while loop : a e i o u

Método 3: Usar bucle for mejorado

Usando el bucle for mejorado, podemos iterar secuencialmente una LinkedList. La ejecución del bucle for mejorado finaliza después de que visitamos todos los elementos. Veamos un ejemplo de iteración de LinkedList usando el bucle for mejorado.

Java

// Java program for iterating the LinkedList
// using Enhanced For loop
  
import java.util.LinkedList;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Creating a LinkedList of String type
        LinkedList<String> linkedList = new LinkedList<>();
  
        // Inserting some String values to our LinkedList
        linkedList.add("Geeks");
        linkedList.add("for");
        linkedList.add("Geeks");
  
        // LinkedList after insertions: ["Geeks", "for",
        // "Geeks]
  
        // Calling the function to iterate our LinkedList
        iterateUsingEnhancedForLoop(linkedList);
    }
  
    // Function to display LinkedList using Enhanced for
    // loop
    public static void iterateUsingEnhancedForLoop(LinkedList<String> linkedList)
    {
  
        System.out.print(
            "Iterating the LinkedList using enhanced for loop : ");
  
        for (String listElement : linkedList) {
            System.out.print(listElement + " ");
        }
    }
}
Producción

Iterating the LinkedList using enhanced for loop : Geeks for Geeks

Método 4: usar el iterador

  • Para iterar LinkedList usando el iterador, primero creamos un iterador para la lista actual y seguimos imprimiendo el siguiente elemento usando el método next() hasta que el siguiente elemento exista dentro de LinkedList.
  • Verificamos si LinkedList contiene el siguiente elemento usando el método hasNext() .

Java

// Java program for iterating the LinkedList
// using Iterator
  
import java.util.Iterator;
  
// Importing LinkedList class from
// java.util package
import java.util.LinkedList;
  
public class GFG {
    public static void main(String[] args) {
  
        // Creating a LinkedList of Integer Type
        LinkedList<Integer> linkedList = new LinkedList<>();
  
        // Inserting some Integer values to our LinkedList
        linkedList.add(5);
        linkedList.add(100);
        linkedList.add(41);
        linkedList.add(40);
        linkedList.add(7);
  
        // LinkedList after insertions : [5, 100, 41, 40, 7]
  
        // Calling the function to iterate our LinkedList
        iterateUsingIterator(linkedList);
    }
  
    // Function to iterate the Linked List using Iterator
    public static void iterateUsingIterator(LinkedList<Integer> linkedList){
  
        System.out.print("Iterating the LinkedList using Iterator : ");
  
        // Creating an Iterator to our current LinkedList
        Iterator it = linkedList.iterator();
  
        // Inside the while loop we check if the next element
        // exists or not if the next element exists then we print
        // the next element and move to it otherwise we come out
        // of the loop
        
        // hasNext() method return boolean value
          // It returns true when the next element
          // exists otherwise returns false
        while(it.hasNext()){
  
            // next() return the next element in the iteration
            System.out.print(it.next() + " ");
        }
  
    }
}
Producción

Iterating the LinkedList using Iterator : 5 100 41 40 7

Método 5: Usando el método forEach()

  • El método forEach() se introdujo en Java8. 
  • Realiza la tarea especificada para cada elemento del iterable hasta que se hayan procesado todos los elementos o la acción produzca una excepción. 

Sintaxis: 

public void forEach(Consumer<? super E> action)

Java

// Java program for iterating the LinkedList
// using For Each loop
  
import java.util.LinkedList;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Creating a LinkedList of Integer Type
        LinkedList<Integer> linkedList = new LinkedList<>();
  
        // Inserting some Integer values to our LinkedList
        linkedList.add(1);
        linkedList.add(2);
        linkedList.add(3);
        linkedList.add(4);
        linkedList.add(5);
  
        // LinkedList after insertions: [1, 2, 3, 4, 5]
  
        // Calling the function to iterate our LinkedList
        iterateUsingForEach(linkedList);
    }
  
    public static void
            iterateUsingForEach(LinkedList<Integer> linkedList)
    {
  
        System.out.print(
            "Iterating the LinkedList using for each function : ");
  
        // Calling the forEach function to iterate through
        // all the elements inside the Linked List
        linkedList.forEach(
            (element) -> System.out.print(element + " "));
    }
}
Producción

Iterating the LinkedList using for each function : 1 2 3 4 5

Publicación traducida automáticamente

Artículo escrito por shivamsingh00141 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 *