List
有序集合、元素可重复;ArrayList 基于数组实现的有序集合;LinkedList 基于链表实现的有序集合。
Set
无序集合、元素不可重复;LinkHashSet 按照插入排序;SortSet 可排序;HashSet无序。
Map
键值对集合、储存键、值和之间的映射,Key无序,唯一;Value不要求有序,允许重复。
详细比较如下表:
比较 | List | Set | Map |
继承结果 | Collection | Collection | |
常见实现类 | AbstractList(其常用子类有 ArrayList、LinkedList、Vector) | AbstractSet(其常用子类有HashSet、LinkedHashSet、TreeSet) | HashMap、HashTable |
常见方法 | add()、remove()、clear()、get()、contains()、size() | add()、remove()、clear()、contains()、size() | put()、get()、remove()、clear()、containsKey()、containsValue()、keySet()、values()、size() |
元素 | 可重复 | 不可重复(用 equals()判断) | 不可重复 |
顺序 | 有序 | 无序(实际上由 HashCode 决定) | |
线程安全 | Vector 线程安全 | Hashtable 线程安全 |