- 浏览: 3362355 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
Queue http://my.oschina.net/kevinair/blog/191434
Deque http://my.oschina.net/kevinair/blog/191630
Queue
java.util.Queue接口是java.util.Collection子接口。
它代表一个有序的对象列表,就像List一样,但是它的使用有略微的区别。
Queue被设计成从末端插入并且从头部删除的形式。
Queue的实现类
LinkedList是一个非常标准的队列实现。
PriorityQueue保存数据默认是根据内部的自然排序,如果指定了Comparator比较器,
则会使用比较器进行排序。
添加,访问和删除元素
添加元素使用继承自Collection的add()方法。
peek()方法,返回当前queue中的首元素但不删除该元素,如果队列为空则返回null。
element()方法与peek()方法类似,但是当队列为空时抛出异常。
poll()方法,返回并且删除queue中首元素,队列为空返回null。
remove()方法与poll()方法类似,但当队列为空时抛出异常。
add()与offer()方法都将再末尾添加一个元素。
Deque
java.util.Deque接口是java.util.Queue接口的子接口。
它代表的队列包含从队列两端添加和删除元素。
"Deque" 是 "Double Ended Queue"的简称。
Deque的实现类
LinkedList是一个标准的deque/queue实现。
ArrayDeque内部使用数组保存元素,如果元素数量超过了内部数组的大小,内部将产生一个新的数组,
然后将数据转移过去,用来满足需求,换句话说,ArrayQeque自身有扩容功能。
添加,访问和删除元素
向Deque中添加元素除了add()和offer()方法以外,
还可以调用addLast()插入到末尾,addFirst()插入到头部。
offerFirst()插入到头部,offerLast()插入到末尾。
push()插入到头部,
出队列的方法除了queue中提到的
Deque还新增了
getFirst()方法,返回头部元素, 不删除该元素
getLast()方法,返回末尾元素,不删除该元素
peekFirst()方法,返回头部元素,不删除该元素
peekLast()方法,返回末尾元素,不删除该元素
pollFirst()方法,返回头部元素并且删除该元素
pollLast()方法,返回尾部元素并且删除该元素
removeFirst()方法,返回头部元素并且删除该元素
removeLast()方法,返回尾部元素并且删除该元素
removeFirstOccurrence(Object)方法,由头至尾删除第一次出现在列表中的元素
removeLastOccurrence(Object)方法,由尾至头删除第一次出现在列表中的元素
pop()从末尾取出并且删除元素
对元素进行遍历
Deque http://my.oschina.net/kevinair/blog/191630
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; }
Deque
java.util.Deque接口是java.util.Queue接口的子接口。
它代表的队列包含从队列两端添加和删除元素。
"Deque" 是 "Double Ended Queue"的简称。
Deque的实现类
java.util.ArrayDeque java.util.LinkedList
LinkedList是一个标准的deque/queue实现。
ArrayDeque内部使用数组保存元素,如果元素数量超过了内部数组的大小,内部将产生一个新的数组,
然后将数据转移过去,用来满足需求,换句话说,ArrayQeque自身有扩容功能。
添加,访问和删除元素
向Deque中添加元素除了add()和offer()方法以外,
还可以调用addLast()插入到末尾,addFirst()插入到头部。
offerFirst()插入到头部,offerLast()插入到末尾。
push()插入到头部,
Deque deque = new LinkedList(); deque.add("element1"); // 在末尾添加元素 deque.addFirst("element2"); // 在头部添加元素 deque.addLast("element3"); // 在末尾添加元素 deque.offerFirst("element4"); // 在头部添加元素 deque.offerLast("element5"); // 在末尾添加元素
出队列的方法除了queue中提到的
peek(); element(); poll(); remove();
Deque还新增了
getFirst()方法,返回头部元素, 不删除该元素
getLast()方法,返回末尾元素,不删除该元素
peekFirst()方法,返回头部元素,不删除该元素
peekLast()方法,返回末尾元素,不删除该元素
pollFirst()方法,返回头部元素并且删除该元素
pollLast()方法,返回尾部元素并且删除该元素
removeFirst()方法,返回头部元素并且删除该元素
removeLast()方法,返回尾部元素并且删除该元素
removeFirstOccurrence(Object)方法,由头至尾删除第一次出现在列表中的元素
removeLastOccurrence(Object)方法,由尾至头删除第一次出现在列表中的元素
pop()从末尾取出并且删除元素
对元素进行遍历
Deque deque = new LinkedList(); deque.add("element0"); deque.add("element1"); deque.add("element2"); // 使用 Iterator Iterator iterator = dequeA.iterator(); while(iterator.hasNext(){ String element = (String) iterator.next(); } // 使用 for-loop for(Object object : dequeA) { String element = (String) object; }
发表评论
-
Java Comparable和Comparator
2016-06-26 08:52 655http://my.oschina.net/android52 ... -
Java集合框架之fastutil & koloboke
2016-06-23 14:04 2409Java集合框架之fastutil http://rensan ... -
ehcache 分布式支持
2016-06-05 22:26 1056原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2839原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1494http://my.oschina.net/wjme/blog ... -
mysql中间件研究(Atlas,cobar,TDDL), 分库分表插件
2016-05-09 14:15 3387http://www.guokr.com/blog/47576 ... -
使用gzip优化web应用(filter实现)
2016-05-07 01:45 998使用gzip优化web应用(filter实现) http:// ... -
Byteman 3.0.5 发布,Java 字节码注入工具
2016-04-23 10:29 1723Byteman 3.0.5 发布,Java 字 ... -
RandomStringUtils的说明和生成随机汉字
2016-04-20 15:21 1315更多参考: http://my.oschina.net/wil ... -
通过IP地址获取地理位置
2016-04-20 15:19 854http://my.oschina.net/githubhty ... -
Java编程中使用正则表达式过滤非数字字符串
2016-04-14 13:51 1673/** * * @param str ... -
非对称加密DH算法,DH代码实现
2016-04-13 11:33 1316RSA算法原理(一)http:// ... -
企业支付宝账号开发接口教程
2016-03-31 14:52 1192企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作- ... -
java double类型数据操作工具类
2016-03-28 17:36 1176http://my.oschina.net/yxwblog/b ... -
double转换到BigDecimal
2016-03-28 17:11 1503BigDecimal b = new BigDecimal(d ... -
Java 生成好看的验证码
2016-03-23 10:52 3303http://www.oschina.net/code/sni ... -
Linux环境安装配置Swftools
2016-03-22 21:01 1050http://tetop.blog.51cto.com/188 ... -
java压缩与解压缩文件
2016-03-20 22:03 1428http://www.oschina.net/code/sni ... -
java图像压缩
2016-03-19 23:20 917http://my.oschina.net/686991/bl ... -
会话状态保持,JSESSIONID,COOKIE,URL重写
2016-03-17 20:26 1722http://my.oschina.net/sniperLi/ ...
相关推荐
超全Java集合框架讲解 - 超全Java集合框架讲解 - 集合框架总览 - Iterator Iterable ListIterator - Map 和 Collection 接口 - Map 集合体系详解 - HashMap - LinkedHashMap - TreeMap - WeakHashMap - ...
4.14 List集合的实现类ArrayList和LinkedList 39 4.15 Iterator迭代器 42 4.16泛型 43 4.17增强型for循环 43 4.18 List高级-数据结构:Queue队列 44 4.19 List高级-数据结构:Deque栈 44 4.20 Set集合的实现类...
聊一聊java 的集合类 概述 Java中集合分为两种类型 第一种:以单个元素存储。其超级父接口是:java.util.Collection; 第二种:以键值对存储...Queue又有Deque、Stack、LinkedList SET 无序不可重复,没有下标。规定S
Java集合简介 使用List 编写equals方法 使用Map 编写equals和hashCode 使用EnumMap 使用TreeMap 使用Properties 使用Set 使用Queue 使用PriorityQueue 使用Deque 使用Stack 使用Iterator 使用...
LinkedList Queue接口Deque 接口 AbstractQueue 抽象类LinkedList ArrayDeque PriorityQueue 反射的思想及作用 反射的基本使用 获取类的 Class 对象构造类的实例化对象获取-个类的所有信息 获取类中的变量(Field) ...
多线程集合IOand so onJava中的集合?1.核心接口:Iterator(迭代器接口)Iterable(可迭代接口) -> Collection(集合接口)-> List(列表,线性表接口) :ArrayList、LinkedList-> Set(元素不重复的集合接口):HashSet、...
queue,deque,priorty queue) 5.哈希表,映射,集合 6.树,二叉树,二叉搜索树 7.泛型递归、树的递归 实战题目 (需要重新看,多理解,中序遍历的一个应用) (要考虑没有叶子节点的情况,即是null不是叶子节点) ...
支持所有主要的集合框架接口(Enumeration,ListIterator,Map,Set,SortedSet,Queue,Deque等)。 占地面积小,设备齐全,没有传递依赖项-不属于大型整体软件包。 动机 小时候,是我绝对的最爱。我和他们一起玩了...
LinkedList同时实现了List接口和Deque接口,也是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直是个全能。当你需要使用栈或者队列时,可以...
队列(Queue) 双端队列(Deque) 循环队列 哈希表(HashTable) 树形数据结构 二叉树(BinaryTree)、二叉搜索树(BinarySearchTree、BST) 平衡二叉搜索树(BalancedBinarySearchTree、BBST) AVL树(AVLTree)、...
1.9 Java、Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的...
1.9 Java、Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的...
第6章 对象和类——Java世界的细胞 77 6.1 面向对象概述 77 6.1.1 面向对象程序设计思想的诞生 77 6.1.2 面向过程与面向对象思想的对比 78 6.1.3 面向对象技术的背景和特点 79 6.2 类的定义与对象的创建...