一.List简介 List 的数据结构就是一个序列,存储内容时直接在内存中开辟一块连续的空间,然后将空间地址与索引对应. 以下是List集合简易架构图 由图中的继承关系,可以知道,ArrayList.LinkedList.Vector.Stack都是List的四个实现类. AbstractCollection 是一个抽象类,它唯一实现Collection接口的类.AbstractCollection主要实现了toArray().toArray(T[] a).remove()等方法. Abstra…
概要 首先,我们对Collection进行说明.下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是:List 和 Set. List和Set都是接口,它们继承于Collection.List是有序的队列,List中可以有重复的元素:而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各自的实现类. 为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数:这样,在Co…
概要 首先,我们对Collection进行说明.下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是:List 和 Set. List和Set都是接口,它们继承于Collection.List是有序的队列,List中可以有重复的元素:而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各自的实现类. 为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数:这样,在Co…
下面是最近总结的Java集合(JDK1.6.0_45)相关文章的目录. 01. Java 集合系列01之 总体框架 02. Java 集合系列02之 Collection架构 03. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 04. Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理.解决办法) 05. Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例 06. Java 集合系列06…
一.摘要 在集合系列的第一章,咱们了解到,Map的实现类有HashMap.LinkedHashMap.TreeMap.IdentityHashMap.WeakHashMap.Hashtable.Properties等等. 本文主要从数据结构和算法层面,探讨TreeMap的实现. 二.简介 Java TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身的自然顺序(natural ordering),也可以通过构造时传入的…
一.摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap.LinkedHashMap.TreeMap.IdentityHashMap.WeakHashMap.Hashtable.Properties 等等. 本文主要从数据结构和算法层面,探讨 Hashtable 的实现,如果有理解不当之处,欢迎指正. 二.简介 Hashtable 一个元老级的集合类,早在 JDK 1.0 就诞生了,而 HashMap 诞生于 JDK 1.2,在实现上,HashMap 吸收了很多 Hashta…
一.摘要 在集合系列的第一章,咱们了解到,Map的实现类有HashMap.LinkedHashMap.TreeMap.IdentityHashMap.WeakHashMap.Hashtable.Properties等等. 关于HashMap,一直都是一个非常热门的话题,只要你出去面试,我保证一定少不了它! 本文主要结合JDK1.7和JDK1.8的区别,就HashMap的数据结构和实现功能,进行深入探讨,废话也不多说了,直奔主题! 二.简介 在程序编程的时候,HashMap是一个使用非常频繁的容器…
一.摘要 关于 Set 接口,在实际开发中,其实很少用到,但是如果你出去面试,它可能依然是一个绕不开的话题. 言归正传,废话咱们也不多说了,相信使用过 Set 集合类的朋友都知道,Set集合的特点主要有:元素不重复.存储无序的特点. 啥意思呢?你可以理解为,向一个瓶子里面扔东西,这些东西没有记号是第几个放进去的,但是有一点就是这个瓶子里面不会有重样的东西. 细细思考,你会发现, Set 集合的这些特性正处于 List 集合和 Map 集合之间,为什么这么说呢?之前的集合文章中,咱们了解到,Lis…
一.摘要 在 jdk1.5 中,新增了 Queue 接口,代表一种队列集合的实现,咱们继续来聊聊 java 集合体系中的 Queue 接口. Queue 接口是由大名鼎鼎的 Doug Lea 创建,中文名为道格·利,关于这位大神,会在后期进行介绍,翻开 JDK1.8 源代码,可以将 Queue 接口旗下的实现类抽象成如下结构图: Queue 接口,主要实现类有:ArrayDeque.LinkedList.PriorityQueue. 关于 LinkedList 实现类,在之前的文章中已经有所介绍…
一.摘要 在集合系列的第一章,咱们了解到,Map的实现类有HashMap.LinkedHashMap.TreeMap.IdentityHashMap.WeakHashMap.Hashtable.Properties等等. 本文主要从数据结构和算法层面,探讨LinkedHashMap的实现. 二.简介 LinkedHashMap可以认为是HashMap+LinkedList,它既使用HashMap操作数据结构,又使用LinkedList维护插入元素的先后顺序,内部采用双向链表(doubly-lin…