Collection
|--List 有序,可重复
--ArrayList 底层数据结构是数组,查询快,增删慢,线程不安全,效率高
--Vector 底层数据结构是数组,查询快,增删慢,线程安全,效率低
--LinkedList 底层数据类型是链表 查询慢 增删快 线程不安全,效率高
(2)我们到底使用谁呢?
看需求:
要安全吗?
要:Vector
不要:ArrayList或者LinkedList
查询多:ArrayList
增删多:LinkedList
什么都不知道,就用ArrayList。
|--Set 无序,唯一
--HashSet 底层数据结构是哈希表,具体的是由一个元素是单向链表的数组组成
它依赖于两个方法:hashCode()和equals()方法。
--TreeSet 底层数据结构式二叉树
根据比较的返回值是否是0来决定 |