LinkedList descendingIterator() Method in Java (original) (raw)

Last Updated : 17 Dec, 2024

In Java, the **descendingIterator() method of LinkedList is used to return an iterator that allows to traverse the list in reverse order.

**Example 1: This example demonstrates how to use **descendingIterator() method with Strings in a LinkedList.

Java `

// Java program to use // descendingIterator() import java.util.Iterator; import java.util.LinkedList;

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

    // Creating a LinkedList
    LinkedList<String> l = new LinkedList<>();

    // Adding elements to the LinkedList
    l.add("Java");
    l.add("Python");
    l.add("C++");

    // Display the original LinkedList
    System.out.println("Original list: " + l);

    // Using descendingIterator to 
    // iterate the list in reverse order
    Iterator<String> it = l.descendingIterator();

    // Iterating through the list in reverse order
    System.out.print("Reverse Order list: ");
    while (it.hasNext()) {
        System.out.print(it.next() + " ");
    }
}

}

`

Output

Original list: [Java, Python, C++] Reverse Order list: C++ Python Java

**Syntax of LinkedList descendingIterator() Method

Iterator descendingIterator();

**Return type: It returns an Iterator that iterates over the elements in the reverse order.

**Example 2: This example demonstrates how to use **descendingIterator() methodwith **Integers in a LinkedList.

Java `

// Use of descendingIterator() with Integers import java.util.Iterator; import java.util.LinkedList;

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

    // Creating an empty LinkedList
    LinkedList<Integer> l = new LinkedList<>();
    l.add(100);
    l.add(200);
    l.add(300);
    l.add(400);
    l.add(500);

    // Displaying the original LinkedList
    System.out.println("Original list: "
                       + l);

    // Getting the descending iterator
    Iterator<Integer> it
        = l.descendingIterator();

    // Iterating in reverse order using the
    // descendingIterator() method
    System.out.print("Iterating in reverse order: ");
    while (it.hasNext()) {
        System.out.print(it.next() + " ");
    }
}

}

`

Output

Original list: [100, 200, 300, 400, 500] Iterating in reverse order: 500 400 300 200 100

**Example 3: This example demonstrates how to use **descendingIterator() method with Objects in a LinkedList.

Java `

// Use of descendingIterator() with Object import java.util.Iterator; import java.util.LinkedList;

class Human { int a; String n;

// Created a Constructor
public Human(int a, String n)
{
    this.a = a;
    this.n = n;
}

@Override public String toString()
{
    return "age=" + a + ", name=" + n;
}

}

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

    // Created a Linkedlist to store Human object
    LinkedList<Human> l = new LinkedList<>();

    // Adding human object to the LinkedList
    l.add(new Human(10, "Bob"));
    l.add(new Human(28, "Alice"));
    l.add(new Human(23, "Robin"));
    l.add(new Human(18, "Scott"));
    l.add(new Human(34, "David"));

    // Getting the descending Iterator
    Iterator<Human> it = l.descendingIterator();
    System.out.println("Iterating in reverse order:");

    // Iterating in reverse order using the
    // descendingIterator() method
    while (it.hasNext()) {
      
        System.out.println(it.next());
    }
}

}

`

Output

Iterating in reverse order: age=34, name=David age=18, name=Scott age=23, name=Robin age=28, name=Alice age=10, name=Bob