java queue 实现类 区别_Java集合11 (Queue)
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;
}
java queue 实现类 区别_Java集合11 (Queue)相关推荐
- java队列转集合_Java集合 使用Queue
队列(Queue)是一种经常使用的集合.Queue实际上是实现了一个先进先出(FIFO:First In First Out)的有序表.它和List的区别在于,List可以在任意位置添加和删除元素,而 ...
- Java集合11 (Queue)
2019独角兽企业重金招聘Python工程师标准>>> java.util.Queue接口是java.util.Collection子接口. 它代表一个有序的对象列表,就像List一 ...
- java编写教师类输出_Java类和对象的区别和联系,超简单易懂!
在面向对象的编程语言中,类和对象必然是最核心的特性之一.本文主要介绍Java中的类和对象. 示例 以班级成员为例,班上有小红.小明.小李,还有王老师.张老师和魏老师,我们认为他们都属于"人类 ...
- java 泛型 与类反射_Java技能 —— 对象泛型以及类反射机制的应用
一,泛型和反射的初识 Java泛型是JDK 5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许程序员在编译时监测非法的类型.简单的理解就是参数化类型,我们一开始就知道这个泛型T是Str ...
- java long和int 区别_java long int的区别
java long int的区别 java中long和int都属于整型,为什么还要细分为long和int两种数据类型呢?这是因为它们代表的大小不一样.具体区别如下: 1.区别1 16位系统:long是 ...
- java和c++的区别_JAVA和C++区别详解
JAVA和C++区别详解 来源:-- 作者:-- 浏览:811 时间:2016-08-10 14:18 标签: 摘要: 1)java是解释性语言,java程序在运行时类加载器从类路经中加载相关的类,然 ...
- java与javac的区别_java与javac的区别
学过Java的都知道javac,它是Java语言的编译器,那么,这两者有什么具体的区别呢?下面学习啦小编给大家介绍一下Java和javac的区别. Java是一种可以撰写跨平台应用软件的面向对象的程序 ...
- java循环遍历类属性_java循环遍历类属性 get 和set值方法
//遍历sqspb类 成员为String类型 属性为空的全部替换为"/" Field[] fields = sqspb.getClass().getDeclaredFields() ...
- java与前端的区别_java与前端的区别
java与前端的区别 1.web前端,主要是给网站做静态页面的,也就是说你平时浏览的网站所看到的页面基本都出自web前端,不过网站版面可以是美工出图. 2.web前端需要掌握的技术有:DIV+CSS, ...
最新文章
- LeetCode 489. Robot Room Cleaner--C++,Python解法
- 判断一个点是否在三角形内部
- python wxpython backend wxagg_如何刷新wx.面板正确地?
- python vscode_VScode || 为VScode配置python环境
- swift通知栏推送_如何使用Swift使用推送通知构建食品交付应用
- 令人失望的IE7Beta,仍然不支持Web标准。
- php switch if,php switch 与 if else 区别
- anjular.js读取数据库数据调用实例
- Class绑定、Class对象绑定、v-if(条件渲染)、v-show(元素显示)、v-for(列表渲染)
- div模拟textarea在ios下不兼容的问题解决
- 【CSS】Table样式
- sitecore系统教程之使用修补程序文件自定义Sitecore配置
- (转)NYU教授给写AI新闻的记者们写了一封推心置腹的信,你也应该读读
- ai驱动数据安全治理_利用AI驱动的自动协调器实时停止有毒信息
- excel服务器运行失败怎么办,解决勤哲EXCEL服务器启动失败的问题
- 深度学习中的优化算法之Adadelta
- windows自带备份驱动
- NOI2014--起床困难症
- 车载以太网和工业以太网区别
- Linux命令之停机halt