欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA集合学习Queue

程序员文章站 2024-03-18 11:17:46
...

Queue类似于队列数据结构(FIFO),不允许随机访问,接口定义了以下一些方法:

--void add(Object e):将指定元素加入到队列尾部;

--Object element();获取队列头部文件,但是不删除该元素;

--boolean offer(Object e)将指定元素加入队列尾部,比add()方法好用;

--Object peek()获取头部元素,但不删除该元素,空则null;

--Object poll()获取头部元素,并删除,如果为空,则返回null;

--Object remove()获取头部元素,并删除;

 

-------LinkedList和PriorityQueue是Queue的2个实现类

 

LinkedList同时是List的实现类,也是个List集合,其又实现了Queue接口的一个子接口Deque,代表一个双向队列,因此定义了一些额外可以双向操作的队列方法;

因此LinkedList同时具有栈和队列的操作方法;

LinkedList ll = new LinkedList();
//将元素添加到队列尾部
ll.offer("a");
//将元素入栈
ll.push("b");
//将元素添加到队列头部
ll.offerFirst("c");
for(int i = 0; i < ll.size(); i++){
  System.out.println(ll.get(i));
}
//访问并不删除队列第一个元素
ll.peekFirst();
//访问并不删除队列最后一个元素
ll.peekLast();
//采用出栈方式将第一个元素出栈
ll.pop();
//反问删除最后一个元素
ll.pollLast();

 

PriorityQueue按元素大小顺序排列的队列,因此用peek或poll方法取得的不是第一个入队列的元素,而是队列最小的元素,方法跟普通队列一样;(不允许有null元素)

上一篇: Java集合框架-Queue

下一篇: