前言
本文简单介绍 Java 的容器,内容包括
- 容器概念
- 容器分类
什么是容器
Java 容器是一种可将若干个对象放在一起存储的数据结构,与数组类似,不同点在于容器
- 存储的数据类型不一定需要相同
存储数据类型不同,可将所有类型数据放入同一个容器类型中存储,而无需创建不同类型的容器分别存放相对应的类型对象
- 长度可变
长度可变意味着无需担心初始容器大小不够出现下标越界的异常,在容器初始化时设定一个初始值,当容器的元素数量达到容器设定的存储阈值时,容器将自动扩充容器大小
容器定义了一系列对存储数据操作的方法,使用时无需关注容器的内部实现, 即可完成数据存取。
容器分类
Java 中的容器可分为两大类,分别是
Collection
由一组单个对象组合而成,根据容器的不同特征,Collection 又可细分为
List、Set、Queue 均继承于 Collection 接口,因此它们拥有部分相同方法,见图 2。
List、Set、Queue 又分别派生出不同的子类。Collection 及其子类关系见图 3。
不同容器的具体实现,可参考本系列文章对应的容器实现原理。
Map
由一组键值对(key-value)组合而成,Map 可细分为两种,见图 4。
HashMap、TreeMap 均继承于 Map 接口,因此也有部分相同的方法,见图 5。
关于 TreeMap、HashMap 的具体实现,可参考本系列文章对应的容器实现原理。