ArrayDeque集合的妙用

来源:互联网 发布:java银行管理系统代码 编辑:程序博客网 时间:2024/06/14 00:31

        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作为队列的行为。 

0 0
原创粉丝点击