集合分单列集合和双列集合
(1)单列集合的顶级是Collection接口,它有两个子接口,(是接口不是类)一个是List,一个是Set
List是存储有序,值可重复;Set是存储无序,值唯一,不能重复
List有三个儿子,分别是Arraylist,vocter,linkedlist
Arraylist的出现是为了替代vocter的,所以Arraylist高效不安全,vocter低效安全
他们底层都是数组,查询快,增删慢
linkedlist底层是链表,查询慢,增删快,高效不安全
Set有两个儿子,一个是Hashset,一个是Treeset
hashset底层是哈希表(记住带哈希的就是哈希表结构)
treeset底层是二叉树
(2)双列集合顶级接口是Map,他有两个子类,(是类不是接口)一个是HsahMap,一个是TreeMap
hashset为了保证元素唯一需要重写什么吗?
他需要重写hashcode方法和equals方法
为什么要重写equals方法
因为equals原本比较的是地址值,通过我们重写它,可以比较出类中,比如name和age
属性的值是否相同?从而保证元素唯一。
hashcode方法返回值类型是 int
|
|