本示例向您展示如何创建LIFO(后进先出)Deque。我们调用Deque.peekLast()方法从中获取最后一个元素Deque,轮询最后一个元素,然后重复进行直到所有元素都被读取为止。package org.nhooo.example.util;
import java.util.Deque;
import java.util.LinkedList;
public class DequeLifoDemo {
public static void main(String[] args) {
// 创建一个双端队列的实例,在这里我们使用LinkedList
// 实现Deque接口的类。
Deque deque = new LinkedList<>();
deque.add("one");
deque.add("two");
deque.add("three");
deque.add("four");
StringBuilder in = new StringBuilder("Items IN in order : ");
// 返回此双端队列中的元素的迭代器
// 适当的顺序
for (String s : deque) {
in.append(s).append(",");
}
in.deleteCharAt(in.length() - 1);
System.out.println(in.toString());
StringBuilder out = new StringBuilder("Items OUT in order: ");
for (int i = 0; i
out.append(deque.peekLast()).append(",");
// 检索并删除此双端队列的最后一个元素,
// 或如果此双端队列为空,则返回null。
deque.pollLast();
}
out.deleteCharAt(out.length() - 1);
System.out.println(out.toString());
}
}
我们的代码片段的输出是:Items IN in order : one,two,three,four
Items OUT in order: four,three,two,one