接口 |
实现类 |
保持插入顺序 |
可重复 |
排序 |
使用说明 |
|
ArrayList |
Y |
Y |
N |
长于随机访问元素;但插入、删除元素较慢(数组特性)。 |
LinkedList |
Y |
Y |
N |
插入、删除元素较快,但随即访问较慢(链表特性)。 |
|
|
HashSet |
N |
N |
N |
使用散列,最快的获取元素方法。 |
TreeSet |
N |
N |
Y |
将元素存储在红-黑树数据结构中。默认为升序。 |
|
LinkedHashSet |
Y |
N |
N |
使用散列,同时使用链表来维护元素的插入顺序。 |
|
|
HashMap |
N |
N |
N |
使用散列,提供最快的查找技术。 |
TreeMap |
N |
N |
Y |
默认按照比较结果的升序保存键。 |
|
LinkedHashMap |
Y |
N |
N |
按照插入顺序保存键,同时使用散列提高查找速度。 |
List:
ArrayList:
LinkedList:
Vector:
-------------------------------------------------------------------------------------------------
Set:
HashSet:
SortedSet:
TreeSet:
-------------------------------------------------------------------------------------------------
Map:
SortedMap:元素自动对key排序
HashMap:
Hashtable:
TreeMap: