| 描述 | 支持基本类型 | 支持对象类型 | 自动改变大小 | 线程安全 | 速度 | 操作 |
array | 基本类型数组 | Yes | Yes | No | No | Very Fast | 插入、删除O(n);查找O(1) |
ArrayList | 可动态增缩的索引序列 | No | Yes | Yes | No | Fast | 插入、删除O(n);查找O(1) |
LinkedList | 在任何位置插入、删除的有序序列 | No | Yes | Yes | No | Fast | 插入、删除O(1);查找O(n) |
Vector | Java 1.0保留容器 | No | Yes | Yes | Yes | Slow | 插入、删除O(n);查找O(1) |
| 描述 | 线程安全 |
HashSet | 没有重复元素的集合。存入HashSet的对象必须定义hashCode() | No |
TreeSet | 保持次序的Set,底层为树结构 | No |
LinkedSet | 具有HashSet的查询速度,且内部使用链表维护元素顺序 | No |
| 描述 | 线程安全 |
HashMap | 存储键/值对的数据结构 | No |
HashTable | 存储键/值对的数据结构 | Yes |
TreeMap | 键有序的map集合。TreeMap是唯一带有subMap()方法的Map,它可以返回一个子树 | No |
LinkedHashMap | 类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是插入时的顺序 | No |
WeakHashMap | 该map集合中的值如果没有在其他地方被使用,则可以被垃圾回收器回收 | No |
IdentityHashMap | 使用==代替equals()对“键”进行比较的散列映射。 | No |