[Java] java的基本set

1. Java集合框架

java的集合包括List、Set、Map。

一个实际可用的集合往往继承或实现了多个接口或类。例如RandomAccess(意味着可以随机访问)、Deque(意味着可以作为双端队列使用)、Iterator(意味着可以以迭代器的方式遍历集合)、List(意味着可以进行列表操作)、Map(意味着保存key-value)、SortedMap(key有序的map)、Set(意味者值具有唯一性)、SortedSet(意味着是有序的唯一集合)。

此外像其他Object一样,它们还继承或实现了其他类,如clonable、serializable。

2.HashSet、TreeSet、LinkedHashSet

HashSet:不保证元素有序、元素最多保存一个,可以保存NULL。使用哈希表实现。

LinkedHashSet :与HashSet类似,但是除了哈希表以外,还有链接列表,可以预知迭代顺序。

TreeSet:采用红黑树结构实现,可以对元素进行排序(默认是自然排序、也可以自定义排序规则)。

以上的Set都不是线程安全的。

3.ArrayList、LinkedList

ArrayList:底层是可变长的数组,可以随机访问,扩展容量时会增长50%的长度。

LinkedList:底层是双链表,可以随机访问,增长开销较少。

以上的List都不是线程安全的。

4.HashMap、LinkedHashMap、HashTable

HashMap:一个散列表,保存key-value数据。线程不安全。

LinkedHashMap:继承自HashMap,加入一个链接列表,使得访问时元素被按照自然顺序进行排序。

HashTable:类似于HashMap,但是线程安全。

 

posted @ 2022-03-15 21:48  Cheung-10  阅读(11)  评论(0)    收藏  举报