Java Collections asLifoQueue()
asLifoQueue()是Java Collections 类的内置方法,该方法返回
Deque的视图作为后进先出
(LIFO)队列。在此方法中,方法
添加和
删除分别映射到
push和
pop 操作。当我们要使用需要队列但需要LIFO顺序的方法时,这很有用。
语法
以下是
asLifoQueue()的声明。 方法:
public static <T> Queue<T> asLifoQueue(Deque<T> deque)
参数
参数 |
说明 |
必需/可选 |
deque |
出队提供的收集列表。 |
必需 |
返回
asLifoQueue()方法作为方法调用的结果返回队列列表。
异常
不适用
兼容版本
Java 1.6及更高版本
示例1
import java.util.*;
public class CollectionsAsLifoQueueExample1 {
public static void main(String[] args) {
Deque<String> dque = new ArrayDeque<String>(5);
dque.add("Java");
dque.add("C");
dque.add("C++");
dque.add("Unix");
dque.add("Perl");
Queue<String> q = Collections.asLifoQueue(dque);
System.out.println("The resultant queue is: "+q);
}
}
输出:
The resultant queue is: [Java, C, C++, Unix, Perl]
示例2
import java.util.*;
public class CollectionsAsLifoQueueExample2 {
public static void main(String[] args) {
Deque<Integer> deque = new ArrayDeque<Integer>(5);
deque.add(1);
deque.add(2);
deque.add(3);
deque.add(4);
deque.add(5);
Queue<Integer> q = Collections.asLifoQueue(deque);
System.out.println("The resultant view of the queue is: "+q);
}
}
输出:
The resultant view of the queue is: [1, 2, 3, 4, 5]
示例3
import java.util.*;
public class CollectionsAsLifoQueueExample3 {
public static void main(String[] args) {
Deque<Integer> deque = new LinkedList<>();
//Insert the specified element into the queue represented by this dequeue
deque.offer(1);
deque.offer(2);
System.out.println("Initial view of the queue is: "+deque);
deque.offer(3);
System.out.println("New queue value is: "+deque);
Queue<Integer> deque2 = Collections.asLifoQueue(deque);
deque2.offer(4);
deque2.offer(5);
System.out.println("The resultant view of the queue is: "+deque2);
}
}
输出:
Initial view of the queue is: [1, 2]
New queue value is: [1, 2, 3]
The resultant view of the queue is: [5, 4, 1, 2, 3]