集合Collection
集合里面的元素可以任意数据类型
- 集合每个元素的数据类型可以任意,也带来了管理的困惑,因此可以强制集合里面的每个元素的数据类型一致,这种做法叫做泛型
集合的长度可以任意扩展或者缩小
JAVA中的集合接口为Collection
- Collection提供集合的基本操作方法
- 添加元素
- 删除元素
- 清除元素
- 集合大小
- 迭代集合
- 查找元素
JAVA中的Iterator接口为集合的遍历接口
- 提供如何迭代集合
- hasNext查找是否有下一个元素
- next获取元素
- remove删除元素
集合分为三种类型
List
- 有序的 collection(也称为序列)。,自然顺序
- 有下标,从0开始
- 集合里面元素允许重复 (允许满足 e1.equals(e2) 的元素对 e1 和 e2)
- 提供了get(),set()等操作下标的方法
- ArrayList和Vector不同点:ArrayList为线程不安全,Vector线程安全,ArrayList占用存储空间小,Vector占用存储空间大
- Stack为线程安全,且提供堆栈的操作,(压栈、出栈等)
Set
- 无序的 collection(也称为无列)
- 没有下标
- 集合里面的元素不允许重复
- HashSet是哈希算法(离散),
- TreeSet是树算法,因此有机会排序
Set集合的优势在于速度,因为使用了离散算法,放弃的自然顺序,因此查询非常的快。如果对自然顺序比较关心,那么使用List集合
- Map