集合
1.collection:(单列集合)
①:List:(有序、可重复)
A:ArrayList:底层数据结构是数组,查询快,增删慢
线程不安全,效率高
B:Vector:底层数据结构是数组,查询快,增删慢
线程安全,效率低
C:LinkedList:底层数据结构是链表,查询慢,增删快
线程不安全,效率高
②:Set:(无序、唯一)
A:HashSet:底层数据结构是哈希表
哈希表依赖hashCode()和equals()
执行顺序:
判断hashCode值
相等:执行equals返回值
true:元素重复,不添加
false:元素不重复,添加元素
不相等:直接添加元素
a:LinkedHashSet:底层数据结构是链表和哈希表
链表保证元素有序
哈希表保证元素唯一性
B:TreeSet:底层数据结构是二叉树
排序:
自然排序:元素所属类实现comparable接口
比较器排序:集合接受comparator实现类接口
2:map:(双列集合) 键值对
A:HashMap:底层数据结构是哈希表
线程不安全,效率高
依赖hashCode()和equals()
执行顺序:
判断hashCode值
相等:执行equals返回值
true:元素重复,不添加
false:元素不重复,添加元素
不相等:直接添加元素
a:LinkedHashMap:底层数据结构是哈希表和链表
哈希表保证元素的唯一性
链表保证元素的有序性
B:HashTable:底层数据结构是哈希表
线程安全,效率低
依赖hashCode()和equals()
执行顺序:
判断hashCode值
相等:执行equals返回值
true:元素重复,不添加
false:元素不重复,添加元素
不相等:直接添加元素
C:TreeMap:底层数据结构是二叉树
排序:
自然排序:元素所属类实现comparable接口
比较器排序:集合接受comparator实现类接口
java集合总结
最新推荐文章于 2022-07-10 19:40:48 发布