Java学习笔记_Day21(Set)

Set系列集合

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

实现类

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

HashSEet

哈希值

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

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

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

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

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

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

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

LinkedHashSet

相关推荐
Advancer-6 分钟前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
\xin17 分钟前
pikachu自编SQL(POST)
java·数据库·sql
一行代码一行诗++20 分钟前
注释是什么和注释该怎么写(C语言)
java·前端·javascript
LZYmarks23 分钟前
小白买车笔记
笔记
码途漫谈42 分钟前
Easy-Vibe开发篇阅读笔记(二)——前端开发之Figma与MasterGo入门
人工智能·笔记·ai·开源·ai编程·figma
JAVA面经实录9171 小时前
企业级java+LangChain4j-RAG系统 限流熔断降级
java·开发语言·分布式·langchain
Drug1 小时前
Struts2 从入门到放弃?不,这些核心知识你依然需要掌握
java
Slow菜鸟1 小时前
Codex CLI 教程(五)| AI 驱动项目从零到一:面向 Java 全栈工程师打造个人 ECC(V2版)
java·开发语言·人工智能
LaLaLa_OvO1 小时前
jetbrains 的 datagrip 导出csv,中文乱码
笔记
月落归舟1 小时前
java基础之拷贝、单例
java·单例·拷贝