Java学习笔记_Day21(Set)

Set系列集合

  • 无序:存取顺序不一致
  • 不重复:可以去除重复
  • 无索引:没有带索引的方法

实现类

  • HashSEet:无序,不重复,无索引
  • LinkedHashSet:有序,不重复,无索引
  • TreeSet:可排序,不重复,无索引

HashSEet

哈希值

创建一个默认长度16,默认加载因子0.75的数组

根据元素的哈希值和数组的长度计算出应存入的位置

int index=(数组长度-1)&哈希值

判断当前位置是否为null,如果是null直接存入

如果位置不为null则调用equals方法比较属性值

一样:不存,不一样:存入数组,形成链表

JDK8以后 当链表长度大于8,数组长度大于等于64时,自动转为红黑树

LinkedHashSet

相关推荐
晓梦林15 小时前
[Dest0g3 520迎新赛]EasyPHP-学习笔记
android·笔记·学习
未秃头的程序猿15 小时前
JDK 26的Value Class,我做了个性能测试,结果出乎意料
java·后端·面试
Zane199415 小时前
volatile / synchronized / final:三大特性(原子性/可见性/有序性)到底谁保证了什么?
java·后端
巴勒个啦15 小时前
从需求到上线:记录一次完全由 AI 辅助完成的小产品全流程
java·前端
我想我不够好。15 小时前
2026.7.28 消防学习 1.5hour
学习
名字还没想好☜15 小时前
Spring @Async 不生效排查:自调用失效、默认线程池坑与异步方法里的异常去哪了
java·python·spring·异步
wechatbot88815 小时前
解决企业微信官方 API 短板:iPad 协议全功能对接方案
java·汇编·windows·http·微信·企业微信
Tim_1015 小时前
【C++】020、野指针&悬空指针
java·开发语言
Flynt16 小时前
Spring Boot 3开虚拟线程,我把生产服务搞崩了两次
java·spring boot
SimonKing16 小时前
别再盲目跑测试了,用 JaCoCo 告诉你哪些代码根本没被覆盖
java·后端·程序员