Collection集合
特点:长度可变,只能存储引用类型,可以存储不同的类型的元素
list
特点:元素有序(存储和取出的顺序一致),可以重复
- LinkedList
数据结构:底层数据结构是数组,查询快,增删慢。线程不安全,效率高
- ArrayList
数据结构:底层数据结构是链表,查询慢,增删快。线程不安全,效率高
- Vector
数据结构:底层数据结构是数组,查询快,增删慢。线程安全,效率低。
set
特点:元素无序,唯一
- HashSet
数据结构:底层数据结构是哈希表。哈希表底层依赖两个方法:hashCode()和equals()。
存储数据时的判断顺序:
1.首先判断对象的hashCode()是否相同。
2.是:继续走equals(),看其返回值是
true:说明元素重复了,不添加。
false:就直接添加到集合。
否:就直接添加到集合。
用的时候看到Hash结构的集合,我们就可能需要重写hashCode()和equals()。并且,我们也不用自己写,可以自动生成。
- TreeSet