当前位置: 首页 > news >正文

Java基础——集合进阶8

一、LinkedHashSet

添加第一个元素,在添加的时候会调用哈希公式计算出应该存入的位置,如果该位置是null,表示该位置没有元素,则直接添加进去。与此同时,在底层还多了一层链表,而且是双向链表,链表的头结点就是我们刚刚添入的元素。

添加第二个元素,通过哈希值计算出应该存入的位置,是3索引,这个地方同样的没有元素直接添加,添加成功之后,第一个元素的内部会记录第二个元素的地址值,第二个元素也会记录第一个元素的地址值,这样形成一条双向的链表。

添加第三个元素,------------------计算出的是3,就会通过equals()方法进行比较,两个对象的内部的属性值是否一样,假设不一样,新的元素在JDK8之后,就会挂在旧元素的下方,形成链表。与此同时,还会发生互相记录彼此地址值的行为。

这样遍历的时候,就会遍历这个双向链表就能顺序的取出元素。

package com.lkbhua.HashSetDemo;import java.util.LinkedHashSet;public class LinkedHashSetDemo {public static void main(String[] args) {/* LinkedHashSet实现类的应用*/// 1、创建4个学生对象Student s1 = new Student("lkbhua", 18);Student s2 = new Student("ZengQ", 18);Student s3 = new Student("TwoBaby", 18);Student s4 = new Student("JamesHarden", 36);// 2、创建LinkedHashSet集合对象LinkedHashSet<Student> lhs = new LinkedHashSet<>();lhs.add(s1);lhs.add(s2);lhs.add(s3);lhs.add(s4);// 3、遍历集合for(Student s : lhs){System.out.println(s.getName() + ":" + s.getAge());}System.out.println("--------------------------------");}
}

声明:

分析借鉴于通义AI

以上均来源于B站@ITheima的教学内容!!!

本人跟着视频内容学习,整理知识引用

http://www.dtcms.com/a/594181.html

相关文章:

  • README查看会议信息
  • 云校网站建设网站优化排名易下拉系统
  • 基础算法精讲 09|递归|操作型|计算型
  • OpenCSG 2025年10月月报:战略合作、学术突破、H200上新与社会责任
  • Lua基本语法
  • 关于网站建设的请示范文东莞网站优化一般多少钱
  • CI/CD 全流程指南:从概念到落地的持续交付实践
  • 软件生产的“高速公路网”:深入浅出理解CI/CD的核心流程
  • 网站列表设计东城企业网站建设
  • 医学类数据集目标检测分割分类数据集汇总介绍
  • 2017网站建设傻瓜式网站开发
  • 开发环境搭建之JDK11+maven3.9.8+tomcat9安装
  • phpcmsv9手机网站模板wordpress file upload
  • Socket编程核心API详解
  • 网站关键词排名怎么提升app开发外包要多少钱
  • 使用 Node.js 开发 Telegram Bot 完整指南
  • 招聘网站代理做网站提供服务器吗
  • AI宠物的情感交互设计与市场反响
  • 【C/C++】C++11 类的 默认构造函数 “= default” 用法
  • 自己建的网站可以用笔记本做服务器吗推广网站建设产品介绍
  • 嵌入式C语言中结构体使用方法与技巧
  • 深度学习(1)—— 基本概念
  • 【Java EE进阶 --- SpringBoot】Spring 核心 --- AOP
  • 4.95基于8086流水灯霓虹彩灯控制器,8086彩灯控制器proteus8.9仿真文件+源码功能四个开关对应四种模式。
  • 网站做百度推广需要什么材料专业的网站制作公司哪家好
  • 在 Ubuntu Desktop Linux 下解压7z文件的完整指南
  • 网站建设工作都包括哪些方面网站论文首页布局技巧
  • 国内做视频的网站网站优化需要做什么
  • 用 LangGraph + MCP Server 打造 SpreadJS 智能助手:让 AI 真正懂你的表格需求
  • 做网站用php还是node外贸网站 备案