1. 程式人生 > >List、Set、Map下各類型的對比

List、Set、Map下各類型的對比

hashtable class ray hashmap 速查 使用 線程同步 highlight ash

1.List和Set:
List: 元素有放入順序,元素可重復,查找效率高,插入刪除效率低;
Set: 元素無放入順序,元素不可重復,(元素雖然無順序,但元素在Set中的位置是由該元素的HashCode決定的,其位置其實是固定的),檢索效率低,刪除和插入效率高。
2.Arraylist、LinkedList和Vector:
Arraylist查詢操作效率比LinkedList高;
插入和刪除操作效率Arraylist比LinkedList低;
Vector是線程安全的(線程同步)。
3.HashSet和Treeset:
Treeset不允許放入null值;
HashSet不允許出現重復元素,允許包含null值,但只能放入一個null;
快速查找通常都應該使用HashSet;排序時,使用TreeSet。
4.HashMap、HashTable和TreeMap:
HashTable是線程同步的;
HashMap是非線程同步的,效率上比HashTable高,適用於插入、刪除和定位元素;
HashMap允許空鍵值,而HashTable不允許;
TreeMap適用於按自然順序或自定義順序遍歷鍵(key)。

  

List、Set、Map下各類型的對比