欢迎大家来到IT世界,在知识的湖畔探索吧!
Java队列是一种由数组和链表作为,底层构造的只暴露头和尾操作API的数据结构。因此,队列是被认为是一种受限的数据结构。队列的特性:是先进先出,类似于排队。
队列Queue与set和list同级都继承了collection。其次,双端队列接口Duque阻塞队列blocking queue和非阻塞队列AvstractQueue实现了Queue接口。以下简述这三个类型的Java队列!
一、Queue队列
压入元素(添加):add()、offer()
弹出元素(删除):remove()、poll()
获取队头元素(不删除):element()、peek()
二、 双端队列
双端队列顾名思义就是队列的两个端口都能进出。eque实现类是linkedlist,而linkedlist,ArrayDeque、LinkedBlockingDeque,其中linkedlist是最常用的,值得注意的是linkedlist也实现了list接口。
三、 阻塞队列
阻塞队列是一个支持两个附加操作的队列,即在队列为满时,存储元素的线程会等待队列可用。当队列为空时,获取元素的线程会。等待队列为飞空。
四、 各队列的区别与联系
从数据的输入和输出角度来看,队列可以看成是普通和双端两种。普通队列是先进先出,而双端则可以两端进出。从并发角度来看,队列可以看成阻塞和非阻塞两种,阻塞队列能实现阻塞,而非阻塞不能阻塞。阻塞和非阻塞队列,都有普通队列和双端队列特性的实现类。
关注小源,为您带来更多好程序员Java资讯!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/32837.html