2019独角兽企业重金招聘Python工程师标准>>>

java.util.Queue接口是java.util.Collection子接口。

它代表一个有序的对象列表,就像List一样,但是它的使用有略微的区别。

Queue被设计成从末端插入并且从头部删除的形式。

Queue的实现类

java.util.LinkedList

java.util.PriorityQueue

LinkedList是一个非常标准的队列实现。

PriorityQueue保存数据默认是根据内部的自然排序,如果指定了Comparator比较器,

则会使用比较器进行排序。

添加,访问和删除元素

添加元素使用继承自Collection的add()方法。

Queue queue = new LinkedList();
queue.add("1");
queue.add("2");
queue.offer("3");// peek = 1
Object peek = queue.peak();// element = 1
Object element = queue.element();// poll = 1
Object poll = queue.poll();// remove = 2
Object remove = queue.remove();

peek()方法,返回当前queue中的首元素但不删除该元素,如果队列为空则返回null。

element()方法与peek()方法类似,但是当队列为空时抛出异常。

poll()方法,返回并且删除queue中首元素,队列为空返回null。

remove()方法与poll()方法类似,但当队列为空时抛出异常。

add()与offer()方法都将再末尾添加一个元素。

Queue queueA = new LinkedList();queueA.add("element 0");
queueA.add("element 1");
queueA.add("element 2");// 使用 Iterator
Iterator iterator = queueA.iterator();
while(iterator.hasNext(){String element = (String) iterator.next();
}// 使用 for-loop
for(Object object : queueA) {String element = (String) object;
}

转载于:https://my.oschina.net/kevinair/blog/191434

Java集合11 (Queue)相关推荐

  1. java queue 实现类 区别_Java集合11 (Queue)

    java.util.Queue接口是java.util.Collection子接口. 它代表一个有序的对象列表,就像List一样,但是它的使用有略微的区别. Queue被设计成从末端插入并且从头部删除 ...

  2. 【Java 集合】ArrayList、LinkedList、Stack、Queue、Set、Map, 迭代器 Iterable、Iterator,Collections类

    集合类型 数组的局限性 ArrayList(常用方法 + 基本使用) ArrayList - retainAll ArrayList - toArray ArrayList 的遍历(5种) Array ...

  3. Java 集合深入理解(9):Queue 队列

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 今天心情不太好,来学一下 List 吧! 什么是队列 队列是数据结构中比较重要的一种类型,它支持 FIFO,尾部添加.头部 ...

  4. java队列转集合_Java集合 使用Queue

    队列(Queue)是一种经常使用的集合.Queue实际上是实现了一个先进先出(FIFO:First In First Out)的有序表.它和List的区别在于,List可以在任意位置添加和删除元素,而 ...

  5. Java 集合深入理解(11):LinkedList

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 今天心情鱼肚白,来学学 LinkedList 吧! 日常开发中,保存一组数据使用的最多的就是 ArrayList, 其次就 ...

  6. Java集合详解2:LinkedList和Queue

    今天我们来探索一下LIterator,fail-fast机制与比较器的源码. 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 喜欢的话麻烦star一 ...

  7. Java集合框架——一个编程小白的Java SE学习日志11【极客BOY-米奇】

    文章目录 前言(转载请说明作者:极客BOY) 任务导引 List接口 特点 如何使用 ArrayList LinkedList List排序 前言(转载请说明作者:极客BOY) 2020.5.14 发 ...

  8. java 集合 接口_Java集合之Collection接口

    1 - Java集合介绍 /* 1. 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储. 2. 另一方面,使用Array存储对象方面具有一些弊 端,而 ...

  9. java集合框架图(一)

    一.集合类简介 Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)"丢进"该容器中.从Java 5 增加了泛型以后,Java集合可以记住容器中对象的数 ...

最新文章

  1. Oracle Study--RAW Device在Oracle下的应用
  2. C#中的参数传递(转)
  3. 【翻译】HTML5开发——轻量级JSON存储解决方案Lawnchair.js
  4. 读取CSV数据的集中方式(Java和Oracle)
  5. Azure云端部署Exchange 2016双数据中心—Part6(DAG切换测试)
  6. 移动并重命名2000个文件,Python,3秒
  7. spark RDD详解及源码分析
  8. gatsby_我如何使用Gatsby和Netlify建立博客
  9. linux命令帮助怎么看,Linux命令帮助
  10. 如何将html转为report,如何使用XtraReport将报表导出为HTML
  11. java 运行war_javaweb项目在Eclipse中启动Tomcat后运行正常,但是打成war包启动后运行异常的问题?...
  12. vue loading组件
  13. 聊天室后台 java php_PHP实现简单聊天室(附源码)
  14. C语言:表白(多彩小心心)
  15. 腾讯CJ放出大招!次世代手游大作曝光,画面堪比3A大作
  16. 十大IT危机处理高手
  17. [历朝通俗演义-蔡东藩-前汉]第011回 降真龙光韬泗水 斩大蛇夜走丰乡
  18. 怎么能防止网站被注入eval(base64_decode这种类型的木马?
  19. visio-制作甘特图工具
  20. Android 11 中文件存储(FileNotFoundException open failed: EPERM (Operation not permitted))

热门文章

  1. mysql连接报java.math.BigInteger cannot be cast to java.lang.Long异常
  2. 关于银行等带有安全控件插件的输入selenium无法sendkeys的解决方案
  3. 如何使用jQuery将事件附加到动态HTML元素? [重复]
  4. php7 扩展 性能测试,php7简单性能测试
  5. Web项目中前端页面通过URL传中文或 # 特殊字符到后台出现乱码解决方案
  6. 全向轮机器人特性分析
  7. mac 图形化安装mysql,mac安装mysql图形化工具?
  8. oracle 数据库基础配置,Oracle数据库网络服务配置基础、SQL编程详解-Oracle
  9. add git 的文件 移除_【Git第八节】移除文件
  10. 下载并安装Redis教程