1 . Collection接口:单列集合,两个子接口
①List接口:有序可重复
LinkedList:基于链表实现,每个元素储存本身内存地址还储存下一个元素的地址。(增删快,查找慢)
ArrayList:基于数组实现,每次增删都要重新创建新的数组,但数组有索引。(增删慢,查找快)
Vector:基于数组,线程安全相关,效率低。
②Set接口:不可重复
HashSet: 储存的元素无序,不可重复,底层是哈希表
LinkedHashSet:储存元素有序,不可重复,底层是哈希表和链表的结合
TreeSet:可以指定一个顺序,对象存入之后会按照指定的顺序排序。
2 . Map接口:双列集合
HashMap:非线程安全,高效,支持null
LinkedHashMap:是HashMap的一个子类,保存了记录的插入顺序
HashTable:线程安全,低效,不支持null
TreeMap:能够把他保存的记录根据键排序,默认是键值的升序排序
3 . 注意点:
Collection和Collections的区别
Collection 则是一个接口,Collections 是一个包装类。