当前位置:网站首页>集合相关Collection
集合相关Collection
2022-07-30 07:37:00 【晓白夏】
jdk1.8 Collection List 有序 可重复 ArrayList 数组 默认长度为0 当第一次添加的时候创建长度为10的数组 当数组的大小不够时 进行扩容 扩容为原来的1.5倍 查找和添加快 LinkedList 单向链表 头指针和尾指针 插入快删除快 Vector 数组 初始化长度为10 当数组容量不够时 扩容个为原来的2倍 线程安全的 Set 无序(存数据的时候) 不可重复 都是往map中的key的位置存 对应的value全部为 private static final Object PRESENT = new Object() hashSet 底层HashMap 当向hashSet中添加数据时 如果是自定义的数据类型 需要去重时 重写hashcode和equals方法 LinkedHashSet 底层LinkedHashMap 因为是链表结构 而且还有指针的概念 它是有序的 TreeSet 可以排序 二叉树 一个节点 2个子节点 左节点比右节点数值要小 节点值相同时不插入 1,当TreeSet里面的的元素是我们自定义类型的元素,需要排序时 我们让我们自定义类型的数据实现Comparable 2,TreeSet可以传入一个Comparator比较器 在比较器中进行比较 hashtable 线程安全 Map 数组+链表+红黑树 创建长度为16的数组 key-value 键值对 key 无序 不可重复 value 可以重复 key相同值覆盖 当添加元素时 先执行当前key的hash方法计算出他的hash值,然后利用算法计算出当前key在数组的位置 情况1 数组中对应的位置没有元素 添加成功 情况2 数组中对应的位置有元素 后添加的key和原位置上链表中所有的key进行比较(equals) 1 都不相同 添加成功 2 出现相同 对应的位置进行替换 Map也会扩容 原来的2倍 临界值 数组的长度*0.75 ===> 12 为了减少链表 提高查询速度 hashMap LinkedHashMap TreeMap Properties
边栏推荐
猜你喜欢
随机推荐
Thinking about digital transformation of construction enterprises in 2022, the road to digital transformation of construction enterprises
【小程序专栏】总结uniapp开发小程序的开发规范
数据库连接池的使用
一文带你玩转offer-01
golang grpc protoc 环境配置
服务器可靠性稳定性调优指引
The difference between typescript3-ts and js
Judging from the Internet:
40.【vector的运用】
桌面软件开发框架大赏
【Kotlin 中的类和继承】
保存在 redis中的token 如何续期?
Delphi仿制Web的导航
ES:模板字符串的使用
Risk Register
Charles通过Rewrite越过OPTIONS请求拦截
SwiftUI SQLite 教程之 构建App本地数据库实现创建、读取、更新和删除(教程含完成项目源码)
Monkey and Banana
Limit injection record of mysql injection in No. 5 dark area shooting range
MagicDraw secondary development process