In this article, we will discuss how to iterate through contents of LinkedList using descendingIterator() method
1. To iterate LinkedList contents in reverse-order :
Method signature:
public Iterator descendingIterator();
- This method returns an iterator to iterate over elements in this deque in reverse sequential order
- The elements will be returned in order from last (tail) to first (head)
- Note: this is available from Java 1.6 version
1.1 Using descendingIterator() method of LinkedList class
IterateLinkedListContentInReverseOrder.java
package in.bench.resources.java.collections;
import java.util.Iterator;
import java.util.LinkedList;
public class IterateLinkedListContentInReverseOrder {
public static void main(String[] args) {
// creating LinkedList object of type String
LinkedList<String> techCompanies = new LinkedList<String>();
// adding elements to LinkedList object
techCompanies.add("Sun");
techCompanies.add("Apple");
techCompanies.add("JBoss");
techCompanies.add("Whatsup");
techCompanies.add("Android");
techCompanies.add("BEA Weblogic");
techCompanies.add("Apache");
// Iterating using enhanced for-loop
System.out.println("Insertion Order: \n");
for(String techCompany : techCompanies) {
System.out.println(techCompany);
}
// get descending Iterator to iterate in reverse order
Iterator<String> dItr = techCompanies.descendingIterator();
// Iterating using enhanced for-loop
System.out.println("\n\n\nReverse of Insertion Order: \n");
while(dItr.hasNext()){
System.out.println(dItr.next());
}
}
}
Output:
Insertion Order:
Sun
Apple
JBoss
Whatsup
Android
BEA Weblogic
Apache
Reverse of Insertion Order:
Apache
BEA Weblogic
Android
Whatsup
JBoss
Apple
Sun
Note: there is other way to iterate LinkedList using reverse() method of Collections class
1.2 Using reverse() method of Collections class
ReverseIteratingLinkedList.java
package in.bench.resources.java.collections;
import java.util.Collections;
import java.util.LinkedList;
public class ReverseIteratingLinkedList {
public static void main(String[] args) {
// creating LinkedList object of type String
LinkedList<String> techCompanies = new LinkedList<String>();
// adding elements to LinkedList object
techCompanies.add("Sun");
techCompanies.add("Apple");
techCompanies.add("JBoss");
techCompanies.add("Whatsup");
techCompanies.add("Android");
techCompanies.add("BEA Weblogic");
techCompanies.add("Apache");
// Iterating using enhanced for-loop
System.out.println("Insertion Order: \n");
for(String techCompany : techCompanies) {
System.out.println(techCompany);
}
// reverse LinkedList contents using Collection.reverse(lst)
Collections.reverse(techCompanies);
// Iterating using enhanced for-loop
System.out.println("\n\n\nAfter reversing using "
+ "Collections.reverse(lst): \n");
for(String techCompany : techCompanies) {
System.out.println(techCompany);
}
}
}
Output:
Insertion Order:
Sun
Apple
JBoss
Whatsup
Android
BEA Weblogic
Apache
After reversing using Collections.reverse(lst):
Apache
BEA Weblogic
Android
Whatsup
JBoss
Apple
Sun
Related Articles:
- Java – Various ways to iterate through ArrayList
- Java – Various ways to iterate through Vector – 5 ways
- Java – Various ways to iterate through LinkedList – 5 ways
- Java – Various ways to iterate through HashSet – 3 ways
- Java – How to reverse LinkedHashSet contents ?
- Java – Various ways to iterate through TreeSet – 3 ways
- Java – Various ways to iterate over List of HashMap
- Java – Ways to iterate over HashMap of ArrayList
- Java – Various ways to iterate Arrays – 5 ways
- Java 8 – Iterating List using forEach() method
- Java 8 – Iterating Set using forEach() method
- Java 8 – Iterating Map using forEach() method
References:
- https://docs.oracle.com/javase/tutorial/collections/intro/
- https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Enumeration.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html
- https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html
- https://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html
- https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html
- https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html
Happy Coding !!
Happy Learning !!