Collections asLifoQueue()方法在Java中的使用及示例
java.util.Collections 类中的 asLifoQueue() 方法用于将Deque作为一个后进先出(Lifo)Queue返回。其中,add方法映射为push,remove映射为pop等等。该视图在需要使用Queue方法但需要Lifo排序时非常有用。
通过这个方法返回的队列上的每个方法调用都会在后备deque上导致一次方法调用,只有一个例外。addAll方法是作为后备deque上addFirst调用序列来实现的。
语法:
public static Queue asLifoQueue(Deque deque)
参数: 这个方法将 deque 作为参数,转换为一个LifoQueue。
返回值: 这个方法从deque返回一个LifoQueue。
以下是说明 asLifoQueue() 方法的示例
示例1:
//演示asLifoQueue()方法的Java程序
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
//创建Deque对象
Deque<Integer> deque = new ArrayDeque<Integer>(7);
//向deque添加元素
deque.add(1);
deque.add(2);
deque.add(3);
deque.add(4);
deque.add(5);
//使用asLifoQueue()方法从deque获取队列
Queue<Integer> nq = Collections.asLifoQueue(deque);
//打印队列
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:
//演示asLifoQueue()方法的Java程序
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
//创建Deque对象
Deque<String> deque = new ArrayDeque<String>(7);
//向deque添加元素
deque.add("Ram");
deque.add("Gopal");
deque.add("Verma");
//使用asLifoQueue()方法从deque获取队列
Queue<String> nq = Collections.asLifoQueue(deque);
//打印队列
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]
极客教程