zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java 集合框架01-----Java集合总览

JAVA集合框架 01 ----- 总览
2023-09-27 14:19:46 时间

今天开始阅读Java集合源码了。重点掌握ArrayList,HashMap的源码

前置问题:

  1. HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别
  2. ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。

集合框架类图如下图所示:

集合框架类图.png
接下来我们将按照这个类图来开始我们的分析之旅。

总体说明:

最根部就是两个接口CollectionMap
1. Collection 主要有List,SetQueue三个分支,Collection定义了集合的基本操作,如集合的查找,修改,合并
- List是一个有序队列,允许重复元素,其实现类ArrayList,LinkedListVector
- Set不允许有重复元素。其实现类有HashSetTreeSet,HashSet的实现依赖于HashMapTreeSet的实现依赖于TreeMap
2. Map是一个映射接口,即key-value 键值对,其key值只允许一个为null,Value 值可以允许多个值为null。
3. Iterator是集合的遍历工具,即我们通常所说的Iterator迭代器。Collection依赖于Iterator,所有Collection的所有实现类都要依赖Iterator
4. ArraysCollection是操作数组和集合的工具类。