Java学习笔记_Day21(Set)

Set系列集合

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

实现类

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

HashSEet

哈希值

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

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

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

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

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

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

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

LinkedHashSet

相关推荐
devilnumber4 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
V搜xhliang02465 小时前
AI智能体的数据安全与合规实践
人工智能·学习·数据分析·自动化·ai编程
无敌的牛6 小时前
redis学习过程
数据库·redis·学习
asdfg12589636 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
闪闪发亮的小星星7 小时前
开普勒三大定律
笔记
摇滚侠8 小时前
SpringMVC 入门到实战 文件上传 75-77
java·后端·spring·maven·intellij-idea
GIS数据转换器8 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
旅僧8 小时前
Π环境部署(运行 且 无理论讲解)
学习
jushi89998 小时前
Lucas Chess R国际象棋、中国象棋、日本将棋、五子棋训练学习工具游戏软件
学习
华如锦8 小时前
面了很多 Java转AI Agent方向,一些面试题总结
java·开发语言·人工智能·python·ai