Java集合框架
2022-01-18 15:51:54 121 举报
AI智能生成
登录查看完整内容
集合框架概述,仅包括常用部分
作者其他创作
大纲/内容
无序,key-value 形式存储对象(key无序不可重复,value无序可重复)
实现方式:数组(主体)和链表(解决哈希冲突)
线程安全
查询:不支持随机访问,需要使用key查询
删除:支持两种删除方法 remove(Object o) 和 clear()
HashMap遍历顺序
迭代顺序和插入顺序不一致
HashTable
实现方式:数组和红黑树 当链表长度大于8,且当前数组小于64时扩容数组,否则会转换为红黑树
线程不安全
HashMap
实现方式:HashMap(存储数据)和双向链表(维持顺序)
迭代顺序和插入顺序一致
LinkedHashMap
实现方式:红黑树(自平衡的排序二叉树)
迭代顺序和插入顺序一致,默认按照 key 升序排列,也可使用 compare() 方法指定顺序
TreeMap
Map
有序,元素可重复,可以使用下标操作元素
实现方式:数组
查询:支持随机访问get(int index)
新增:add()
插入和删除:不方便,涉及到数组的移动和复制
空间占用:list列表结尾需要预留空间
Arraylist
双向链表数据结构解析
实现方式:双向链表
查询:不支持随机访问
插入和删除:方便,只需要更改前后节点引用
空间占用:每个元素所占空间较大,需要保存前后节点信息
LinkedList
List
实现方式:HashMap
查询:不支持随机访问,需要使用元素查询 (contains(Object o),返回boolean值)
修改和删除:不支持修改; 支持两种删除方法(remove(Object o)和clear())
遍历顺序和插入顺序不一致
HashSet
实现方式:LinkedHashMap
遍历顺序和插入顺序一致
LinkedHashSet
实现方式:TreeMap
遍历顺序按照插入顺序升序排列
TreeSet
Set
Queue
Collection
集合框架
0 条评论
回复 删除
下一页