Java Collections asLifoQueue()方法及示例
java.util.Collections 类的 asLifoQueue() 方法是用来返回Deque作为Lifo队列的视图。方法add被映射为push,remove被映射为pop,以此类推。当你想使用一个需要队列的方法,但又需要Lifo排序时,这个视图会很有用。
这个方法返回的队列上的每个方法调用都会导致在支持deque上的一个方法调用,只有一个例外。addAll方法被实现为对支持deque的addFirst调用序列。
语法:
public static Queue asLifoQueue(Deque deque)
参数: 该方法以 deque 为参数,将其转换为一个LifoQueue。
返回值: 该方法从deque中返回一个 LifoQueue 。
以下是说明asLifoQueue()方法的例子
例1:
// 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);
}
}
}
输出
View of the queue is: [1, 2, 3, 4, 5]
例2:
// 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);
}
}
}
输出
View of the queue is: [Ram, Gopal, Verma]