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:
- Para método de bucle
- mientras método
- Método de bucle para cada uno
- 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) + " "); } }
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++; } } }
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 + " "); } }
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 + " ")); } }
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