Java—Collection接口
一、Collection接口
1.1 Collection接口结构
1.2 Collection接口常用的方法
二、List接口
2.1 List接口的特点
① 有序的集合
② 允许重复的元素
③ 带有索引的集合
2.2 ArrayList集合
ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
2.3 LinkedList集合
LinkedList集合数据存储的结构是链表结构。方便元素添加、删除的集合。实际开发中对一个集合元素的添加与删除经常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。
在开发时,LinkedList 集合也可以作为堆栈,队列的结构使用
2.4 Vector
用法与ArrayList类似;但是线程是安全的
2.5 List的查询方式
三、Set接口
3.1 Set接口的特点
① 无序列的集合(没有下标)
② 不允许有重复的元素
3.2 HashSet集合
3.2.1 概念
HashSet其实是一个HashMap集合。
3.2.2 特点
🤜 元素唯一,不能重复
🤜 底层结构是哈希表结构
🤜 元素的存与取的顺序不能保证一致
如何保证元素的唯一的?
重写hashCode() 与 equals()方法
🤜 HashSet集合不能保证迭代顺序与元素存储顺序相同
3.2.3 存储结构
HashSet 集合,采用哈希表结构存储数据(底层为数组机制),保证元素唯一性的方式依赖于:hashCode()与 equals() 方法。
总结:保证 HashSet 集合元素的唯一,其实就是根据对象的 hashCode 和 equals 方法来决定的。 如果我们往集合中存放自定义的对象,那么保证其唯一,就必须重写 hashCode 和 equals 方法建立属于当前对象的比较方式。
3.3 LinkedHashSet集合
3.3.1 特点
🤜 元素唯一,不能重复
🤜 底层结构是哈希表结构 + 链表结构
🤜 元素的存与取的顺序一致