List:有序、索引、可以重复
List的特有方法:与索引相关的add\set\remove
迭代器的并发修改异常:在取元素的同时,继续往里面添加元素(下面包异常)
数组查询快,增删慢;链表查询慢,增删快
ArrayList:增删慢,查询快
LinkedList:增删快,查询慢
LinkedList的特有方法:addFirst addLast getFirst getLast(不能多态调用)
Vector类:同步的,所以运行速度慢,已经被ArrayList取代,现代基本不用
Set接口特点:无索引,不可以重复元素,方法和Collections全完相同
HashSet
Set的两种取出方式
哈希表
字符串对象的哈希值hashCode方法
HashSet
哈希表的存储结构:先比较哈希值是否相同,相同比较equals方法,都相同挂下面桶的存储结构
HashSet存储Person类时,姓名和年龄相同看成同一个对象,重写Person类的hashCode和equals方法,(ide快捷键能给自动生成)
LinkedHashSet
面试题:HashCode协定