Java集合:List、Set、Map

  • 集合

Java 集合可分为 Collection 和 Map 两种体系。

 

 

  • List接口

List是可重复的集合。

ArrayList:动态数组,线程不安全,默认容量10,每次按照1.5倍进行扩容。

 

LinkedList:双向链表,线程不安全,默认容量10,每次按照1.5倍进行扩容。

 

Vector:动态数组,线程安全,默认容量10,每次按照2倍进行扩容。

 

Stack:动态数组,后进先出,线程安全,默认容量10,每次按照2倍进行扩容。

 

  • Set接口

Set是不可重复的集合。

HashSet:hash表,无序,可以放一个null,线程不安全。

 

LinkedHashSet:hash表+双向链表,有序,可以放一个null,线程不安全。

 

TreeSet:hash表+红黑树,有序,线程不安全;默认情况下,元素不允许为null值,元素必须是相同类型。

 

  • Map接口

Map是具有映射关系“key-value对”的集合。Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

HashMap:散列表,键唯一,无序,key可为null,线程不安全;

 

LinkedHashMap:HashMap+双向链表,键唯一,有序,key可为null,线程不安全。

 

TreeMap:红黑树,键唯一,有序,key不能为null,线程不安全;

 

HashTable:散列表,键唯一,无序,key和value不能为null,线程安全;

 

posted @ 2020-03-17 12:45  时光编辑师  阅读(185)  评论(0编辑  收藏  举报