- 浏览: 3421761 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (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 694http://my.oschina.net/android52 ... -
Java集合框架之fastutil & koloboke
2016-06-23 14:04 2471Java集合框架之fastutil http://rensan ... -
ehcache 分布式支持
2016-06-05 22:26 1098原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2882原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1542http://my.oschina.net/wjme/blog ... -
mysql中间件研究(Atlas,cobar,TDDL), 分库分表插件
2016-05-09 14:15 3444http://www.guokr.com/blog/47576 ... -
使用gzip优化web应用(filter实现)
2016-05-07 01:45 1030使用gzip优化web应用(filter实现) http:// ... -
Byteman 3.0.5 发布,Java 字节码注入工具
2016-04-23 10:29 1768Byteman 3.0.5 发布,Java 字 ... -
RandomStringUtils的说明和生成随机汉字
2016-04-20 15:21 1389更多参考: http://my.oschina.net/wil ... -
通过IP地址获取地理位置
2016-04-20 15:19 894http://my.oschina.net/githubhty ... -
Java编程中使用正则表达式过滤非数字字符串
2016-04-14 13:51 1716/** * * @param str ... -
非对称加密DH算法,DH代码实现
2016-04-13 11:33 1356RSA算法原理(一)http:// ... -
企业支付宝账号开发接口教程
2016-03-31 14:52 1235企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作- ... -
java double类型数据操作工具类
2016-03-28 17:36 1239http://my.oschina.net/yxwblog/b ... -
double转换到BigDecimal
2016-03-28 17:11 1545BigDecimal b = new BigDecimal(d ... -
Java 生成好看的验证码
2016-03-23 10:52 3357http://www.oschina.net/code/sni ... -
Linux环境安装配置Swftools
2016-03-22 21:01 1103http://tetop.blog.51cto.com/188 ... -
java压缩与解压缩文件
2016-03-20 22:03 1469http://www.oschina.net/code/sni ... -
java图像压缩
2016-03-19 23:20 951http://my.oschina.net/686991/bl ... -
会话状态保持,JSESSIONID,COOKIE,URL重写
2016-03-17 20:26 1761http://my.oschina.net/sniperLi/ ...
相关推荐
Java集合框架是Java编程语言中的一个核心特性,它为存储、管理和操作对象提供了一组统一的接口和类。本章内容主要围绕Java集合框架展开,包括ArrayList、LinkedList、HashSet、HashMap等常见数据结构的使用方法及其...
Java集合框架是Java语言中一个非常重要的组件,提供了多种数据结构和算法来存储和操作数据。在Java集合框架中,LinkedList、ArrayList、HashMap、TreeMap等都是非常常用的数据结构。本文将对Java集合框架的源码进行...
Java集合框架主要由接口和类组成,如List、Set、Queue、Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。 1. **List接口**:List接口是有序的集合,允许重复元素,并且元素都有索引。ArrayList和...
"java技术集合体系图"涵盖了Java集合框架的重要概念和组件,对于深入理解Java编程至关重要。下面我们将详细探讨这个话题。 首先,"Collection.jpg"可能是一个展示了Java集合接口层次结构的图表。在Java集合框架中,...
4. 其他集合类:如Queue、Deque等,它们分别代表队列和双端队列,适用于数据的先进先出(FIFO)操作。 Java集合类矩阵图通常会展示以下内容: - 接口与实现类的关系:通过图形化的方式展示接口与其实现类的层级结构。...
以上只是Java集合框架的一部分核心概念,实际开发中还有许多其他类和接口,如Deque(双端队列)、NavigableSet(可导航的集合)等,都为开发者提供了丰富的选择和强大的功能。理解和熟练使用Java集合框架,是成为一...
在Java集合框架中,主要有六种核心接口:`Collection`, `Set`, `List`, `Queue`, `Deque`, 和 `Map`。此外,还有五个抽象类以及多个实现类,它们共同构成了Java集合框架的基础。 #### 二、核心接口介绍 1. **`...
Java集合框架是Java编程语言中一个至关重要的组成部分,它为数据存储、管理和操作提供了丰富的类库。这个框架包括了各种接口、类以及实现,使得开发者能够高效地处理对象的集合,无论是小型还是大型数据集。在Java...
- **集合接口**:Java集合框架中有六种主要的集合接口,它们分别是`Collection`、`List`、`Set`、`Queue`、`Deque`和`Map`。这些接口构成了整个集合框架的基础,定义了集合类应该具备的基本行为和功能。 - `...
Queue是Java集合框架中的队列接口,用于处理先进先出(FIFO)的数据结构。LinkedList除了实现List接口外,还实现了Deque接口,因此它能作为双端队列使用,支持头尾插入和删除。ArrayDeque是另外一种高效的双端队列...
Java集合框架是Java编程语言中一个非常重要的组成部分,它提供了一组高效的数据结构和操作这些数据结构的方法。泛型则是Java在J2SE 5.0版本引入的一个特性,极大地提高了代码的类型安全性和可读性。下面我们将深入...
Java集合类层次结构是Java编程语言中用于存储和管理对象的核心框架。这个层次结构由多个接口和类组成,为开发者提供了灵活且强大的数据结构选择。理解这个层次结构对于编写高效、可维护的Java代码至关重要。 在Java...
Java集合框架是Java标准库的一部分,它提供了一套丰富的API来存储和操作集合中的对象。集合框架的核心是接口和它们的实现类,这些接口和实现类共同构成了一个高度灵活且功能强大的数据结构库。 #### 二、集合框架...
Java集合框架是Java平台的核心组件之一,它为开发者提供了多种数据结构来存储和操作对象集合。Java集合主要包括两大接口:`Collection` 和 `Map`。 #### Collection接口: - **特点**:它代表一个元素列表,可以...
Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...
首先,Java集合框架的核心接口包括List、Set、Queue和Map。这些接口定义了各种集合的行为,而具体的实现类则提供了实际的数据存储和操作功能。 1. **List接口**:List是一种有序的集合,允许元素重复,并且可以按照...
Java集合框架主要包括`Collection`、`Set`、`List`、`Queue`、`Deque`、`Map`等接口和它们的具体实现类如`ArrayList`、`LinkedList`、`Vector`、`Stack`、`HashSet`、`HashMap`等。下面将对这些核心概念和类进行深入...
Java集合框架是Java编程语言中的一个核心特性,它为存储、管理和操作对象提供了一组统一的接口和类。集合框架的使用极大地提高了代码的可读性、可维护性和效率。以下是对Java集合学习的一些关键知识点的详细解释: ...