对数据的存储往往想到数组容器,但是数组存储类型单一的数据,操作复杂(数组一旦声明好不可变)。怎么可以灵活的增长容器的长度?在面向对象编程中,怎么把对象对象存储到容器?
因此也就产生了集合——存储对象的容器。
集合中可以存储任意类型的对象,而且长度可变。从而解决了数组长度固定以及只能存基本数据类型问题。
集合(collection)的分类
首先用一张大图了解集合家族的成员,每一个容器对数据的存储方式不同,这种存储方式称之为数据结构(data structure)。
集合和数组中存放的都是对象的引用而非对象本身。

类型 | 使用场景 |
---|---|
collection | 保存若干个对象式使用 |
list | 保留存储书序,并且保留重复元素,使用List。如果查询多,使用ArrayList。存取多,使用LinkedList;需要线程安全,使用Vector。 |
set | 不需要保留存储顺序,并且去掉重复元素,使用set。需要排列元素,使用TreeSet;不需要排序,使用HashSet。保留存储顺序但是过滤重复元素,使用LinkedHashSet |