①List 集合元素是有序,不唯一:
ArrayList 低层是数组,替代了 Vector,查询速度快;
LinkedList 低层是链表,,增删速度快;
Vector 低层也是数组,速度很慢,已经过时;
②Set 集合元素是无序,唯一;
HashSet 低层是哈希表;
LinkedHashSet 是 HashSet 的子类
TreeSet 底层是二叉树,
③Map 集合(键值对)
HashTable 低层是哈希表,不存在 null 键和 null 值;
HashMap 低层是哈希表,存在 null 键和 null 值;
TreeMap 低层是二叉树
技巧:Array 是数组结构,有角标,查询速度很快。link 就是链表结构:增删速度快,而且有特有方法,addFirst、 addLast、removeFirst()、removeLast()、getFirst()、getLast()。
hash 就是哈希表,就要想要哈希值,就要想到唯一性,就要想到存入到该结构的中的元素必须覆盖 hashCode,equals 方法 tree 就是二叉树,就要想到排序,就想要用到比较。 |
|