Java LinkedList descendingIterator() Method



Description

The Java LinkedList descendingIterator() method returns an iterator over the elements in this list in reverse sequence. It helps to iterate elements from last to first or from tail to head.

Declaration

Following is the declaration for java.util.LinkedList.descendingIterator() method

public Iterator<E> descendingIterator()

Parameters

NA

Return Value

This method returns an iterator over the elements in this list in reverse sequence.

Exception

NA

Getting Iterator to Iterate LinkedList of Integers in Descending Order Example

The following example shows the usage of Java LinkedList descendingIterator() method. We're creating a LinkedList of Integers. We're adding couple of Integers to the LinkedList object using add() method calls per element and using descendingIterator() method, we're iterating the list and print all the elements in reverse order.

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.Iterator;

public class LinkedListDemo {
   public static void main(String[] args) {
      
      // create an empty linked list 
      LinkedList<Integer> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add(0);
      linkedList.add(1);
      linkedList.add(2);
      linkedList.add(3);
      linkedList.add(4);
      linkedList.add(5);
      linkedList.add(6);
	  
      Iterator<Integer> iterator = linkedList.descendingIterator();
      iterator.forEachRemaining(i -> System.out.println(i));
   }
}

Output

Let us compile and run the above program, this will produce the following result −

6
5
4
3
2
1
0

Getting Iterator to Iterate LinkedList of Strings in Descending Order Example

The following example shows the usage of Java LinkedList descendingIterator() method. We're creating a LinkedList of Strings. We're adding couple of Strings to the LinkedList object using add() method calls per element and using descendingIterator() method, we're iterating the list and print all the elements in reverse order.

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.Iterator;

public class LinkedListDemo {
   public static void main(String[] args) {
      
      // create an empty linked list
      LinkedList<String> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add("A");
      linkedList.add("B");
      linkedList.add("C");
	  
      Iterator<String> iterator = linkedList.descendingIterator();
      iterator.forEachRemaining(i -> System.out.println(i));
   }
}

Output

Let us compile and run the above program, this will produce the following result −

C
B
A

Getting Iterator to Iterate LinkedList of Objects in Descending Order Example

The following example shows the usage of Java LinkedList descendingIterator() method. We're creating a LinkedList of Student objects. We're adding couple of Student objects to the LinkedList object using add() method calls per element and using descendingIterator() method, we're iterating the list and print all the elements in reverse order.

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.Iterator;

public class LinkedListDemo {
   public static void main(String[] args) {

      // create an empty linkedList
      LinkedList<Student> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add(new Student(1, "Julie"));
      linkedList.add(new Student(2, "Robert"));
      linkedList.add(new Student(3, "Adam"));

      Iterator<Student> iterator = linkedList.descendingIterator();
      iterator.forEachRemaining(i -> System.out.println(i));    
   }
}

class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

[ 3, Adam ]
[ 2, Robert ]
[ 1, Julie ]
java_util_linkedlist.htm
Advertisements