java中List、set、map的区别

wuchangjian2021-11-05 14:23:06编程学习

元素特性

有序性

底层结构

线程

查询

增删

效率

List

ArrayList

可重复

有序

数组

安全

LinkedList

链表

不安全

Vector

实现自增的对象数组

安全

Set

HashSet

唯一(hashcode(),equals())

无序

哈希表

不安全

时间复杂度O(1)

LinkedHashSet

唯一(哈希表)

有序(链表插入)

链表+哈希表

不安全

时间复杂度O(1)

TreeSet

唯一

有序

红黑树

不安全

时间复杂度O(log(n))

Map

HashMap

Key唯一,允许null(k,v)

无序

数组+链表

不安全

TreeMap

Key唯一

有序

红黑树

不安全

O(log(n))

HashTable

Key唯一,不允许null

无序

哈希表

安全

时间复杂度O(1)

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。