Java – Gentag gennem ArrayList på 5 måder
I denne artikel vil vi diskutere forskellige måder at iterere gennem ArrayList – 5 måder
Forskellige måder at iterere gennem ArrayList
- almindelig for-loop
- Forbedret for-loop introduceret i Java 1.5 version
- Gentagelse ved hjælp af Iterator af Samling grænseflade
- Gentagelse ved hjælp af ListIterator af Liste grænseflade
DifferentWaysToIterateArrayList.java
package in.bench.resources.java.collections; import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; public class DifferentWaysToIterateArrayList { public static void main(String[] args) { // creating ArrayList object of type String ArrayList<String> al = new ArrayList<String>(); // adding elements to ArrayList object al.add("Sundar Pichai"); al.add("Satya Nadella"); al.add("Shiv Nadar"); al.add("Shantanu Narayen"); al.add("Sundar Pichai"); // duplicate object al.add("Francisco D’Souza"); al.add(null); // null is allowed // Way 1: Iterating using for-loop System.out.println("Way 1: Iterating using for-loop\n"); for(int index = 0; index < al.size(); index++) { System.out.println(al.get(index)); } // Way 2: Iterating using enhanced for-loop System.out.println("\n\nWay 2: Iterating using " + "enhanced for-loop\n"); for(String str : al) { System.out.println(str); } // Way 3: Iterating using Iterator of Collection interface System.out.println("\n\nWay 3: Iterating using " + "Iterator of Collection interface\n"); Iterator<String> itr = al.iterator(); while(itr.hasNext()) { System.out.println(itr.next()); } // Way 4: Iterating using ListIterator of List interface System.out.println("\n\nWay 4.A: Iterating using ListIterator of " + "List interface in FORWARD direction\n"); ListIterator<String> lstItr = al.listIterator(); while(lstItr.hasNext()) { System.out.println(lstItr.next()); } System.out.println("\n\nWay 4.B: Iterating using ListIterator of " + "List interface in BACKWARD direction\n"); while(lstItr.hasPrevious()) { System.out.println(lstItr.previous()); } } }
Output:
Way 1: Iterating using for-loop Sundar Pichai Satya Nadella Shiv Nadar Shantanu Narayen Sundar Pichai Francisco D’Souza null Way 2: Iterating using enhanced for-loop Sundar Pichai Satya Nadella Shiv Nadar Shantanu Narayen Sundar Pichai Francisco D’Souza null Way 3: Iterating using Iterator of Collection interface Sundar Pichai Satya Nadella Shiv Nadar Shantanu Narayen Sundar Pichai Francisco D’Souza null Way 4.A: Iterating using ListIterator of List interface in FORWARD dir Sundar Pichai Satya Nadella Shiv Nadar Shantanu Narayen Sundar Pichai Francisco D’Souza null Way 4.B: Iterating using ListIterator of List interface in BACKWARD dir null Francisco D’Souza Sundar Pichai Shantanu Narayen Shiv Nadar Satya Nadella Sundar Pichai
Fra ovenstående eksempel, ArrayList
- tillader duplikerede elementer
- null-objekt er tilladt
- mens den itererende indsættelsesrækkefølge opretholdes
I den næste artikel vil vi se et demo-eksempel på, hvordan man iterer List ved hjælp af Stream i Java 1.8 dvs.;
- Itereringsliste ved hjælp af forEach() i Java 8