概述
Deque接口是Queue接口的子接口,它代表一个双端队列,该队列允许从两端来操作队列中的元素。Deque不仅可以当成双端队列使用,而且可以当成栈来使用。
ArrayDeque集合是Deque接口的实现类,它是一个基于数组的双端队列,创建Deque时同样可以指定一个numElements参数,该参数用于指定Object[]数组的长度;如果不指定该参数,Deque底层数组长度为16。
ArrayDeque集合既可当队列使用,也可当栈使用,本篇将演示这两种典型的用法。
一 ArrayDeque集合当栈来使用。
1 代码示例
import java.util.*;
public class ArrayDequeStack
{
public static void main(String[] args)
{
ArrayDeque stack = new ArrayDeque();
// 依次将三个元素push入"栈"
stack.push("循循渐进Linux");
stack.push("小学语文");
stack.push("时间简史");
// 输出:[时间简史, 小学语文, 循循渐进Linux]
System.out.println(stack);
// 访问第一个元素,但并不将其pop出"栈",输出:时间简史
System.out.println(stack.peek());
// 依然输出:[时间简史, 小学语文, 循循渐进Linux]
System.out.println(stack);
// pop出第一个元素,输出:时间简史
System.out.println(stack.pop());
// 输出:[小学语文, 循循渐进Linux]
System.out.println(stack);
}
}
2 运行结果
[时间简史, 小学语文, 循循渐进Linux]
时间简史
[时间简史, 小学语文, 循循渐进Linux]
时间简史
[小学语文, 循循渐进Linux]
3 代码说明
上面的程序显示了ArrayDeque作为队列的行为。
二 ArrayDeque集合当队列来使用
1 代码示例
import java.util.*;
public class ArrayDequeQueue
{
public static void main(String[] args)
{
ArrayDeque queue = new ArrayDeque();
// 依次将三个元素加入队列
queue.offer("光头强");
queue.offer("熊大");
queue.offer("熊二");
// 输出:[光头强, 熊大, 熊二]
System.out.println(queue);
// 访问队列头部的元素,但并不将其poll出队列"栈",输出:光头强
System.out.println(queue.peek());
// 依然输出:[光头强, 熊大, 熊二]
System.out.println(queue);
// poll出第一个元素,输出:光头强
System.out.println(queue.poll());
// 输出:[熊大, 熊二]
System.out.println(queue);
}
}
2 运行结果
[光头强, 熊大, 熊二]
光头强
[光头强, 熊大, 熊二]
光头强
[熊大, 熊二]
3 代码说明
上面的程序显示了ArrayDeque作为队列的行为。
最后
以上就是敏感水池为你收集整理的ArrayDeque集合的妙用的全部内容,希望文章能够帮你解决ArrayDeque集合的妙用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复