首页 > 代码库 > List、Set、Map下各类型的对比

List、Set、Map下各类型的对比

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下各类型的对比