JAVA队列(Queue)用法附实例讲解

一、功能

队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。

二、声明

1、声明一个栈的写法,E表示数据类型,name是你给队列起的名字,LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。

Queue <E> name = new LinkedList<E>();

2、实例:声明一个名为queue的Integer队列

Queue<Integer> queue = new LinkedList<Integer>();

三、方法

1、boolean offer(E item)

功能:

如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中。

实例:

queue.offer(0);
queue.offer(1);
queue.offer(2);
System.out.println(queue);

输出结果:

[0, 1, 2]

以下的实例代码省略入队代码。

2、E peek()

功能:

查看此队列顶部的对象,而不从队列中删除它。

实例:

System.out.println(queue);
int top = queue.peek();
System.out.println("top=" + top);
System.out.println(queue);

结果:

[0, 1, 2]

top=0

[0, 1, 2]

3、E poll()

功能:

检索并删除此队列的头,如果此队列为空,则返回 null 。

实例:

System.out.println(queue);
int top = queue.poll();
System.out.println("top = "+top);
System.out.println(queue);

结果:

[0, 1, 2]
top = 0
[1, 2]

4、其它

add()、element()、remove()方法与offer()、peek()、poll()目的相同,但是仍有区别。
offer(),add() 区别:
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。

poll(),remove() 区别:
remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似, 但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。

peek(),element()区别:
element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值