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