Java 集合框架01-----Java集合总览
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Java 集合框架01-----Java集合总览,希望能够帮助大家进步!!!
今天开始阅读Java集合源码了。重点掌握ArrayList,HashMap的源码
前置问题:
- HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别
- ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。
集合框架类图如下图所示:

接下来我们将按照这个类图来开始我们的分析之旅。
总体说明:
最根部就是两个接口Collection 和Map
Collection主要有List,Set和Queue三个分支,Collection定义了集合的基本操作,如集合的查找,修改,合并List是一个有序队列,允许重复元素,其实现类ArrayList,LinkedList和VectorSet不允许有重复元素。其实现类有HashSet和TreeSet,HashSet的实现依赖于HashMap,TreeSet的实现依赖于TreeMapMap是一个映射接口,即key-value 键值对,其key值只允许一个为null,Value 值可以允许多个值为null。Iterator是集合的遍历工具,即我们通常所说的Iterator迭代器。Collection依赖于Iterator,所有Collection的所有实现类都要依赖Iterator。Arrays和Collection是操作数组和集合的工具类。


