随笔分类 -  java集合

java1.7集合源码阅读: Stack
摘要:Stack类也是List接口的一种实现,也是一个有着非常长历史的实现,从jdk1.0开始就有了这个实现。 Stack是一种基于后进先出队列的实现(last-in-first-out (LIFO)),实际上jdk也提供了有关队列的其他实现,这里就先看看Stack的实现: 类定义: 看看Stack提供的 阅读全文

posted @ 2016-07-04 21:05 jessezeng 阅读(417) 评论(0) 推荐(0)

java1.7集合源码阅读: Vector
摘要:Vector是List接口的另一实现,有非常长的历史了,从jdk1.0开始就有Vector了,先于ArrayList出现,与ArrayList的最大区别是:Vector 是线程安全的,简单浏览一下Vector: 类定义: Vector支持快速随机访问,和arrayList一样。 Vector 初始容 阅读全文

posted @ 2016-07-04 20:20 jessezeng 阅读(415) 评论(0) 推荐(0)

java1.7集合源码阅读:LinkedList
摘要:先看看类定义: 在看看Node的定义: Node中保存着存入集合的对象,同时也保存着上一个节点和下一个节点,由此可知,LinkedList 内部采用的是双向链表结构。 再看看CRUD操作: add: 与linkLast对应的还有linkFirst: 既然存在在对尾、队尾添加元素,那么是不是也应该存在 阅读全文

posted @ 2016-07-03 23:44 jessezeng 阅读(444) 评论(0) 推荐(0)

java1.7集合源码阅读:ArrayBlockingQueue
摘要:ArrayBlockingQueue是一个先进先出线程安全的队列,队列头部是进入队列时间最长的元素,队尾是进入队列时间最短的元素,同时队列的最大容量是固定的。 先看类定义: 对元素的增加操作,主要提供了三种使用场景:添加(队列已满则返回false)、限时等待添加,无限等待添加; 对元素的获取同样提供 阅读全文

posted @ 2016-04-29 16:55 jessezeng 阅读(320) 评论(0) 推荐(0)

java1.7集合源码阅读:ArrayList
摘要:ArrayList是jdk1.2开始新增的List实现,首先看看类定义: 容量验证及扩容: 扩容时,为原容量的1.5倍。 ArrayList对Iterator接口的实现: 当对ArrayList进行for循环时,如有对集合进行增删改操作时,会报产生ConcurrentModificationExce 阅读全文

posted @ 2015-12-06 17:37 jessezeng 阅读(293) 评论(0) 推荐(0)

关于java1.7集合源码阅读
摘要:工作中每天都会和java集合打交道,虽然以前也看过jdk源码的实现,但有些东西时间长了还是会遗忘,或者有些实现在新版本中有了新的变化,俗话说"温故而知新",所以打算再阅读一下相关源码。java集合包含collection接口的子接口和实现类以及Map接口的子接口和实现两大块,首先先看看这两大块大致内... 阅读全文

posted @ 2015-12-06 16:50 jessezeng 阅读(206) 评论(0) 推荐(0)

导航