专业的JAVA编程教程与资源

网站首页 > java教程 正文

好程序员:一分钟讲清Java队列是什么?及相互关系!

temp10 2024-09-08 09:39:05 java教程 11 ℃ 0 评论

Java队列是一种由数组和链表作为,底层构造的只暴露头和尾操作API的数据结构。因此,队列是被认为是一种受限的数据结构。队列的特性:是先进先出,类似于排队。

队列Queue与set和list同级都继承了collection。其次,双端队列接口Duque阻塞队列blocking queue和非阻塞队列AvstractQueue实现了Queue接口。以下简述这三个类型的Java队列!

好程序员:一分钟讲清Java队列是什么?及相互关系!


一、Queue队列

压入元素(添加):add()、offer()

弹出元素(删除):remove()、poll()

获取队头元素(不删除):element()、peek()


二、 双端队列

双端队列顾名思义就是队列的两个端口都能进出。eque实现类是linkedlist,而linkedlist,ArrayDeque、LinkedBlockingDeque,其中linkedlist是最常用的,值得注意的是linkedlist也实现了list接口。


三、 阻塞队列

阻塞队列是一个支持两个附加操作的队列,即在队列为满时,存储元素的线程会等待队列可用。当队列为空时,获取元素的线程会。等待队列为飞空。


四、 各队列的区别与联系

从数据的输入和输出角度来看,队列可以看成是普通和双端两种。普通队列是先进先出,而双端则可以两端进出。从并发角度来看,队列可以看成阻塞和非阻塞两种,阻塞队列能实现阻塞,而非阻塞不能阻塞。阻塞和非阻塞队列,都有普通队列和双端队列特性的实现类。


关注小源,为您带来更多好程序员Java资讯!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表