集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定,就可以使用集合容器进行存储。
集合的特点
- 用于存储对象的容器
- 集合的长度是可变的
- 集合中不可以存储基本数据类型
集合框架
集合容器因为内部的数据结构不同,有多种具体容器。不断向上抽取,就形成了集合框架。
常见的集合类
在集合框架中我们会用到许多常见的集合类。
List集合
Vector:内部是数组数据结构,是线程同步的。增删和查询都很慢。其实现方式不断的new新数组,并将原数组复制到心数组中。(被替代)。
ArrayList:也是数组结构,也是长度可变的,是线程不同步的。替代了Vector。查询的速度很快
LinkedList:内部是链表数据结构,是线程不同步的。增删元素很快。
Set集合,不允许重复元素。
HashSet:哈希表结构哈希表,查询速度快
用于存储元素和哈希值对应关系的元素的容器
特点:1,不允许存储重复元素,因为会发生查找的不确定性
2,不保证存入和取出的顺序一致。TreeSet:二叉树数据结构。可以对元素进行排序。不同步的。
排序方式: 元素要具备比较功能,所以元素需要实现Comparable接口 覆盖ConparableTo方法
其他的还有
LinkedHashSet:链表+哈希表 可以保证有序,因为有链表。