Open In App

Collections asLifoQueue() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The asLifoQueue() method of java.util.Collections class is used to return a view of a Deque as a Last-in-first-out (Lifo) Queue. Method add is mapped to push, remove is mapped to pop and so on. This view can be useful when you would like to use a method requiring a Queue but you need Lifo ordering.
Each method invocation on the queue returned by this method results in exactly one method invocation on the backing deque, with one exception. The addAll method is implemented as a sequence of addFirst invocations on the backing deque.
Syntax: 
 

public static Queue asLifoQueue(Deque deque)

Parameters: This method takes deque as a parameter which is to be converted into a LifoQueue.
Return Value: This method returns a LifoQueue from the deque.
Below are the examples to illustrate the asLifoQueue() method
Example 1: 
 

Java




// Java program to demonstrate
// asLifoQueue() method
 
import java.util.*;
 
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
 
        try {
 
            // creating object of Deque<Integer>
            Deque<Integer> deque = new ArrayDeque<Integer>(7);
 
            // Adding element to deque
            deque.add(1);
            deque.add(2);
            deque.add(3);
            deque.add(4);
            deque.add(5);
 
            // get queue from the deque
            // using asLifoQueue() method
            Queue<Integer> nq = Collections.asLifoQueue(deque);
 
            // printing the Queue
            System.out.println("View of the queue is: " + nq);
        }
        catch (IllegalArgumentException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

View of the queue is: [1, 2, 3, 4, 5]

 

Example 2: 
 

Java




// Java program to demonstrate
// asLifoQueue() method
 
import java.util.*;
 
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
        try {
 
            // creating object of Deque<Integer>
            Deque<String> deque = new ArrayDeque<String>(7);
 
            // Adding element to deque
            deque.add("Ram");
            deque.add("Gopal");
            deque.add("Verma");
 
            // get queue from the deque
            // using asLifoQueue() method
            Queue<String> nq = Collections.asLifoQueue(deque);
 
            // printing the Queue
            System.out.println("View of the queue is: " + nq);
        }
        catch (IllegalArgumentException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

View of the queue is: [Ram, Gopal, Verma]

 



Last Updated : 06 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads