Java学习笔记_Day21(Set)

Set系列集合

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

实现类

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

HashSEet

哈希值

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

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

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

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

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

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

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

LinkedHashSet

相关推荐
SL_staff2 小时前
私有化低代码:面向强监管行业的可控数字化实践
java·低代码
柳鲲鹏3 小时前
内斗学概论:43、平级内斗
笔记
三翼鸟数字化技术团队3 小时前
高性能存储引擎RocksDB:原理与Java生态实践
java
SL_staff3 小时前
JVS-APS有限产能建模的七个刚性支点:面向产线真实约束的技术实现解析
java·开源·全栈
特立独行的猫A3 小时前
少 3 个环节、少 1 次 ABI、少 3500 行代码:cj-tauri 与 Ionic/Capacitor 的鸿蒙桥接机制对比
java·后端·python
学长毕设3 小时前
基于SpringBoot的高校后勤报修管理系统-附源码
java·spring boot·后端
特立独行的猫A4 小时前
cj-tauri vs Rust/Tauri 同款播放器实测:编译 21 秒 vs 11 分钟,磁盘 12 MB vs 1.2 GB
java·后端·python
杨凯凡4 小时前
Spring AI RAG 实战:向量检索、租户过滤、引用溯源与防幻觉边界
java·人工智能·spring
小科先生5 小时前
Java springboot调用数据库的基本流程
java·数据库·spring boot
星恒随风5 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql