For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发语言,而今天我们就通过案例分析来了解一下,java编程队列类型都有哪些。
1、阻塞队列和非阻塞队列
阻塞队列(BlockingQueue)提供了可阻塞的put和take方法,它们与可定时的offer和poll是等价的。如果队列满了put方法会被阻塞等到有空间可用再将元素插入;如果队列是空的,那么take方法也会阻塞,直到有元素可用。当队列永远不会被充满时,put方法和take方法就永远不会阻塞。
2、有界队列和无界队列
有界队列:是指有固定大小的队列,比如设定了固定大小的ArrayBlockingQueue,又或者大小为0的SynchronousQueue。
无界队列:指的是没有设置固定大小的队列,但其实如果没有设置固定大小也是有默认值的,只不过默认值是Integer.MAX_VALUE,当然实际的使用中不会有这么大的容量(超过Integer.MAX_VALUE),所以从使用者的角度来看相当于“无界”的。
3、普通队列
普通队列(Queue)是指实现了先进先出的基本队列,例如ArrayBlockingQueue和LinkedBlockingQueue,其中ArrayBlockingQueue是用数组实现的普通队列。
4、优先队列
优先队列(PriorityQueue)是一种特殊的队列,它并不是先进先出的,而是优先级高的元素先出队。
5、延迟队列
延迟队列(DelayQueue)是基于优先队列PriorityQueue实现的,它可以看作是一种以时间为度量单位的优先的队列,当入队的元素到达指定的延迟时间之后方可出队。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。