Iterar lista en Java usando bucles

En este artículo, vamos a ver cómo iterar a través de una Lista. En Java, una Lista es una interfaz del marco de Colección. La lista puede ser de varios tipos, como ArrayList, Stack, LinkedList y Vector. Hay varias formas de iterar a través de una lista de Java, pero aquí solo discutiremos nuestro recorrido usando solo bucles. Por lo tanto, había tres recorridos estándar disponibles, por lo que existen tres métodos, pero con la introducción de Java 8 y las transmisiones surgen otros métodos. Por lo tanto, los cuatro métodos se analizan a continuación de la siguiente manera:

Métodos: 

  1. Para método de bucle
  2. mientras método
  3. Método de bucle para cada uno
  4. Para cada bucle de Java 8

Implementación:

Método 1: usar un bucle for

 For Loop es el bucle de control de flujo más común. For loop usa una variable para iterar a través de la lista. 

Ejemplo 

Java

// Java Program to Iterate List in java
// using for loop
// Importing all input output classes
import java.io.*;
// Importing all utility classes from
// java.util package
import java.util.*;
 
// Class
class GFG {
 
    // main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList object
        // Declaring object of Integer type
        // Custom entries in array
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
 
        // Display message
        System.out.print("Iterating over ArrayList: ");
 
        // Iteration over ArrayList
        // using the for loop
        for (int i = 0; i < my_list.size(); i++)
 
            // Print and display the all elements
            // in List object
            System.out.print(my_list.get(i) + " ");
 
        // new line
        System.out.println();
 
        // No, creating a vector of size N
        // Custom entry for N = 5
        // Custom Integer entries
        List<Integer> v = new Vector<Integer>(5);
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
 
        // Display message
        System.out.print("Iterating over Vector:    ");
 
        // iterating over vector using for loop
        for (int i = 0; i < v.size(); i++)
 
            // Print and display vector elements
            System.out.print(v.get(i) + " ");
 
        // New Line
        System.out.println();
 
        // Creating a stack containing Integer elements
        List<Integer> s = new Stack<Integer>();
 
        // Adding integer elements
        // Custom input
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
 
        // Display message
        System.out.print("Iterating over Stack:     ");
 
        // For loop o iterate over elements in stack
        for (int i = 0; i < v.size(); i++)
 
            // Print and display all stack elements
            System.out.print(s.get(i) + " ");
    }
}
Producción

Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Método 2: usar el ciclo while

El ciclo while de Java, similar al ciclo For, es una declaración de flujo de control que permite que el código se ejecute repetidamente hasta que se cumpla una condición deseada. 

Ejemplo 

Java

// Java Program to iterate over List
// using while loop
 
// Importing all input output classes
import java.io.*;
// Importing all utility classes from
// java.util package
import java.util.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an object of List
        // Declaring object of Integer type
        // Custom Integer entries
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
 
        // Display message
        System.out.print("Iterating over ArrayList: ");
 
        // Initially loop variable is initialized
        // with zero
        int i = 0;
 
        // Iterating over List via while loop
        // using size() method
        while (i < my_list.size()) {
 
            // Print and display all elements
            // of an ArrayList
            System.out.print(my_list.get(i) + " ");
 
            // Incrementing the counter by unity safter
            // one iteration
            i++;
        }
 
        i = 0;
 
        // New Line
        System.out.println();
 
        // Creating a Vector of size N
        // Custom value for N = 5
        List<Integer> v = new Vector<Integer>(5);
 
        // Adding 5 elements to the above List object
        // for vector
        // Custom entries
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
 
        // Display message
        System.out.print("Iterating over Vector:    ");
 
        // Iterating over Vector via while loop
        // using the size() method
        while (i < v.size()) {
 
            // Print and display all elements of vector
            System.out.print(v.get(i) + " ");
 
            // Increment the counter variable
            i++;
        }
 
        //  Counter variable is initially
        // initialized with zero
        i = 0;
 
        // New Line
        System.out.println();
 
        // Creating a Stack by creating another
        // list object of Integer type
        // Declaring object of Integer type
        List<Integer> s = new Stack<Integer>();
 
        // Adding elements to the above stack
        // Custom entries
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
 
        // Display message
        System.out.print("Iterating over Stack:     ");
 
        // Iterating over stack via while loop
        // using size method()
        while (i < v.size()) {
 
            // Print and display all elements
            // of the above stack/ obj created
            System.out.print(s.get(i) + " ");
 
            // Increment the counter by unity
            i++;
        }
    }
}
Producción

Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Método 3: Usar para cada ciclo

Sintaxis:

for (type temp : list_name) 
{  
   statements using temp;
}

Ejemplo 

Java

/*package whatever //do not write package name here */
 
import java.io.*;
import java.util.*;
class GFG {
    public static void main(String[] args)
    {
        // creating Arraylist
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
 
      
        System.out.print("Iterating over ArrayList: ");
         // For Each Loop for iterating ArrayList
        for (Integer i :my_list)
            System.out.print(i + " ");
 
        System.out.println();
 
        // creating Vector of size 5
        List<Integer> v = new Vector<Integer>(5);
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
 
        System.out.print("Iterating over Vector:    ");
         // For Each Loop for iterating Vector
        for (Integer i : v)
            System.out.print(i + " ");
 
        System.out.println();
 
        // creating Stack
        List<Integer> s = new Stack<Integer>();
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
 
        
        System.out.print("Iterating over Stack:     ");
        // For Each Loop for iterating Stack
        for (Integer i : s)
            System.out.print(i + " ");
    }
}
Producción

Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Método 4: Usar para cada ciclo de Java 8

Este método toma una interfaz funcional como parámetro, por lo tanto, la expresión lambda se puede pasar como argumento.

Sintaxis:

void forEach(Consumer<? super T> action)

Ejemplo 

Java

// Importing all 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 by creating object
        // of List and declaring as Integer type
        // Custom  Integer entries
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
 
        // Display message
        System.out.print("Iterating over ArrayList: ");
 
        // Traversing over ArrayList
        // using for each method Java 8
        my_list.forEach(
            list -> System.out.print(list + " "));
 
        // New line
        System.out.println();
 
        // creating Vector by creating object of
        // List and declaring as Integer type
 
        // Vector is of size N
        // N = 5 for illustration purposes
        List<Integer> v = new Vector<Integer>(5);
 
        // Adding elements to the vector
        // Custom Integer elements
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
 
        // Display message
        System.out.print("Iterating over Vector:    ");
 
        // Traversing the above vector elements
        // using for each method Java 8
        v.forEach(vector -> System.out.print(vector + " "));
 
        // New line
        System.out.println();
 
        // Creating a Stack by creating an object of
        // List and declaring it as of Integer type
        List<Integer> s = new Stack<Integer>();
 
        // Adding elements to the above stack created
        // Custom inputs addition using add() method
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
 
        // Display message
        System.out.print("Iterating over Stack:     ");
 
        // Print and display all the elements inside stack
        // using for each method Java 8
        s.forEach(stack -> System.out.print(stack + " "));
    }
}
Producción

Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Publicación traducida automáticamente

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