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

Java HashMap练习

JDK1.2添加,线程不安全,性能相对较好

注意:允许使用null作为key或者value

使用数组加链表结构,结合数组和链表的优点

Hash Map的基本使用

package HashMap;import text5.Student;import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class Text1 {public static void main(String[] args) {HashMap<String, Student> map = new HashMap<String, Student>();map.put("zhangsan",new Student(1,"张三",16));map.put("lisi",new Student(2,"李四",17));map.put("wangwu",new Student(3,"王五",18));System.out.println(map);//获取元素Student student = map.get("lisi");System.out.println(student);//删除元素
//        Student lisi = map.remove("lisi");int size = map.size();System.out.println(size);//得到key集合的遍历(推荐使用的遍历方式)Set<String> set = map.keySet();for (String key : set){System.out.println("键为:"+key + ",值为="+map.get(key));}//直接得到值集Collection<Student> values = map.values();for(Student i : values){System.out.println(i);}//添加相同的key的元素,值会覆盖map.put("lisi",new Student(2,"小李",17));//当添加的对象内容相同时,如果希望其覆盖,应该重写hashcode和equals方法//得到键值的集合Set<Map.Entry<String, Student>> entries = map.entrySet();for(Map.Entry<String, Student> entry : entries){System.out.println("键为:"+entry.getKey() + ",值为="+entry.getValue());}}
}

相关文章:

Java HashMap练习

JDK1.2添加&#xff0c;线程不安全&#xff0c;性能相对较好 注意&#xff1a;允许使用null作为key或者value 使用数组加链表结构&#xff0c;结合数组和链表的优点 Hash Map的基本使用 package HashMap;import text5.Student;import java.util.Collection; import java.ut…...

前后端分离项目实战-通用管理系统搭建(前端Vue3+ElementPlus,后端Springboot+Mysql+Redis)第三篇:登录功能优化

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

8.20 Redis ACL配置 多个用户连接同一个Redis

**一、首先通过 linux命令 redis-cli 输入用户名和密码连接redis的客户端** **二、查看用户&#xff0c;创建用户&#xff0c;设置密码操作** &#xff08;1&#xff09;**ACL LIST** 命令 可以查看到当前的权限用户 &#xff08;2&#xff09;**ACL SETUSER userName** 此…...

【C语言】static和extern的作用

本文首发于 ❄️慕雪的寒舍 简单介绍C/C中static关键字和extern关键字的作用。 1.简介 在之前的博客中&#xff0c;提到过static的三个作用&#xff0c;但是没有详细说明这三个作用的场景&#xff0c;现在回过头来记录一下。 修饰函数修饰全局变量修饰函数内变量 static还有…...

全新分支版本!微软推出Windows 11 Canary Build 27686版

已经很久没有看到 Windows 11 全新的分支版本了&#xff0c;今天微软发布 Windows 11 Canary 新版本&#xff0c;此次版本号已经转移到 Build 27xxx&#xff0c;首发版本为 Build 27686 版。 此次更新带来了多项改进&#xff0c;包括 Windows Sandbox 沙盒功能切换到 Microsof…...

【Linux】ARM服务器命令行安装虚拟机

在Arm服务器上安装虚拟机操作笔记 一、基础环境准备1、环境准备2、检查KVM支持3、启动并启用libvirtd服务4、创建虚拟网络&#xff08;可选&#xff09;5、使用virt-manager创建虚拟机&#xff08;支持KVM&#xff09;6、管理虚拟机9、监控和日志 二、软虚拟化替代方案1、查看虚…...

Android 10.0 锁屏页面忘记锁屏密码情况下点击5次解锁图标弹出锁屏密码功能实现

1. 前言 在10.0的系统ROM定制化开发中,在一些产品中带锁屏密码的功能中,系统默认是滑动解锁,但是客户会设置锁屏密码,在某些时候会 忘掉锁屏密码,导致需要进入恢复出厂设置然后才能进入系统桌面,这样就导致系统的保存的资料都丢失了,所以需要要求在锁屏密码页面在忘记解…...

Java-CompletableFuture工具类

CompletableFuture 是 Java 8 引入的一个强大的异步编程工具,它提供了对异步计算的高级支 持,包括组合多个任务的能力、处理结果、异常处理等。为了方便地使用 CompletableFuture,你 可以创建一个工具类来封装常用的操作。 CompletableFuture 工具类 下面是一个 Complet…...

C语言:递归

递归简单来说就是函数自己调用自己。 特点&#xff1a;一般代码比较简洁&#xff0c;没有出口。 例子1&#xff1a;用一个函数计算阶乘 #include<stdio.h>//不用递归 int fac(int n) {int val 1;for (int i 1; i <n;i){val * i;}return val; }//用递归 int fac1(…...

自动化测试框架pytest+allure+requests

最近复习了一下关于自动化测试的内容&#xff0c;结合[码尚教育] 相关的思路来对测试框架进行开发。 争取实现零代码来实现自动化测试环境的搭建 AutoTestFrame 介绍 AutoTestFrame是一个基于Python的自动化测试框架&#xff0c;旨在帮助测试人员快速、高效地完成测试任务。…...

Python 笔记 numpy.ndarray切片

NumPy 的 ndarray 类型提供了非常灵活的切片功能&#xff0c;可以方便地访问和操作数组中的元素。切片允许您通过指定索引来选择数组的一部分。下面是一些基本的切片操作及其解释。 一维数组的切片 对于一维数组&#xff0c;切片操作类似于 Python 列表的切片。 示例 impor…...

一、HTML5知识点精讲

一、HTML5介绍 html是用来描述网页的一种语言&#xff08;就是写网页的一种语言&#xff09;。 它和CSS&#xff0c;JS称为网页三要素。 HTML负责把元素简单呈现在网页上&#xff0c;是网页的身体CSS负责给网页元素添加各种样式&#xff0c;是网页的衣服JS负责实现各种动态、…...

【杂乱算法】前缀和与差分

前缀和 文章目录 前缀和一维应用 二维差分一维 二维扩展1、前缀和与哈希表 一维 一个数组prefix中&#xff0c;第i个元素表示nums[0]至nums[i-1]的总和&#xff0c;那么我们就称这个prefix数组是nums数组的前缀和。 prefix [ i ] ∑ j 0 i nums [ j ] \text{prefix}[i] \s…...

Arduino调试ESP32常见问题 exit status 1

问题1&#xff1a;代码上传&#xff08;烧录&#xff09;报Failed uploading: uploading error: exit status 1大概率原因&#xff1a;没有安装对应的驱动&#xff0c;我的ESP32驱动是CH340点击这里下载CH340 下载后打开&#xff0c;若出现乱码不用在意&#xff0c;点击第一个按…...

“决胜面试:高频题目与算法策略一览”

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…...

Node-RED的安装

最近对Node-RED比较感兴趣&#xff0c;因为在上OpenHarmony课程的时候&#xff0c;一直想找一个可以通过MQTT控制设备的低代码客户端解决方案。第一次指导Node-RED是在试用聆思开发板的时候&#xff0c;它的云端就是使用的Node-RED。 在安装Node-RED之前&#xff0c;请确保您的…...

java中的Collections

Java 的集合框架(Collections Framework)提供了一组标准的数据结构接口和类,用于存储和操作数据。Java 集合类位于 java.util 包中,主要包括以下几个核心接口和实现类。 1. 核心接口 1.1. Collection 接口 Collection 是集合框架的根接口,但它本身并不提供任何直接实现…...

linux Qt QkeyEvent及驱动键盘按键捕获

基于正点原子 QT中有专门的类处理键盘事件的类QKeyEvent 1.include “QKeyEvent” 查看它的说明中的描述 也就是说接受按键事件在keyPressEvent和keyReleaseEvent这两个函数&#xff0c;继续查看 重构这个函数 查看输入的QKeyEvent类&#xff0c;发现有一个方法key返回哪一个按…...

【GH】【EXCEL】P6: Shapes

文章目录 componentslinepicture components line picture Picture A Picture object Input parameters: Worksheet (Generic Data) A Worksheet, Workbook, Range Object, Excel Application, or Text Worksheet NameName (Text) An optional object nameLocation (Point) A p…...

google浏览器chrome用户数据(拓展程序,书签等)丢失问题

一、问题背景 我出现这个情况的问题背景是&#xff1a;因为C盘块满了想清理一部分空间&#xff08;具体看这&#xff1a;windows -- C盘清理_c盘softwaredistribution-CSDN博客&#xff09;&#xff0c;于是找到了更改AppDatta这个方法&#xff0c;但因为&#xff0c;当时做迁移…...

MPU6050中断驱动数据采集与采样率优化实战

1. MPU6050中断机制与嵌入式开发实战 刚接触MPU6050时&#xff0c;我最头疼的就是数据采集的实时性问题。用轮询方式读取传感器数据不仅占用CPU资源&#xff0c;还经常错过关键的运动状态变化。后来发现中断机制才是解决问题的钥匙&#xff0c;就像有个贴心助手会在数据准备好…...

开源AI对话界面chat-ui:快速部署与定制化LLM前端实践

1. 项目概述&#xff1a;一个开源的AI对话界面如果你最近在折腾大语言模型&#xff08;LLM&#xff09;&#xff0c;不管是想部署一个私有的ChatGPT替代品&#xff0c;还是想给自己训练或微调的模型配一个像样的“脸面”&#xff0c;那你大概率绕不开一个核心问题&#xff1a;前…...

从零到一:在Linux上构建USRP与GNU Radio的完整信号处理工坊

1. 环境准备&#xff1a;打造你的信号处理工坊基础 搭建信号处理工坊就像装修新房&#xff0c;得先打好地基。我强烈推荐使用Ubuntu 20.04 LTS系统&#xff0c;这个版本不仅稳定&#xff0c;而且社区支持完善。记得第一次尝试时用了最新版系统&#xff0c;结果各种依赖冲突让我…...

避坑指南:香橙派串口开发中orangepiEnv.txt与armbianEnv.txt的配置差异详解

香橙派串口开发实战&#xff1a;系统配置差异与深度调试指南 当你在深夜调试香橙派串口时&#xff0c;突然发现修改的配置文件毫无反应——这种经历相信不少开发者都遇到过。问题的根源往往不在于代码本身&#xff0c;而是隐藏在系统环境中的配置差异。本文将带你深入剖析香橙派…...

别再傻傻分不清了!WPF里Shape和Geometry到底该用哪个?实战避坑指南

WPF图形渲染进阶&#xff1a;Shape与Geometry的深度抉择与性能优化实战 在WPF开发中&#xff0c;图形渲染是构建丰富用户界面的核心能力之一。当开发者需要绘制自定义图形时&#xff0c;通常会面临选择Shape还是Geometry的难题。这个看似简单的选择背后&#xff0c;实际上涉及到…...

2026年5月权威实测:Claude Code必装的7个MCP,效率翻倍

Top 1&#xff1a;GitHub MCP —— “衔枚之钉” 如果说MCP服务器里只能留下一个&#xff0c;那GitHub MCP绝对是不可动摇的“钉子户”。它不仅是每个开发者工作流的起点&#xff0c;更是将AI代理从“代码提示者”推向“自主开发者”的核心动力。 它的核心价值是**“端到端的工…...

3分钟掌握Ofd2Pdf:轻松解决OFD转PDF的格式兼容难题

3分钟掌握Ofd2Pdf&#xff1a;轻松解决OFD转PDF的格式兼容难题 【免费下载链接】Ofd2Pdf Convert OFD files to PDF files. 项目地址: https://gitcode.com/gh_mirrors/ofd/Ofd2Pdf Ofd2Pdf是一款专为中文用户设计的开源工具&#xff0c;能够高效地将OFD格式文件转换为通…...

别再用免费版硬扛交付!Pro计划中被低估的“商用素材合规审计工具”如何帮你规避97%版权风险?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;商用素材合规审计工具的底层逻辑与风险图谱 商用素材合规审计工具并非简单的关键词扫描器&#xff0c;而是融合数字水印识别、元数据溯源、许可证语义解析与跨平台版权数据库比对的复合型决策引擎。其底…...

工程化AI编程:claude-code-blueprint项目实战与最佳实践

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“claude-code-blueprint”&#xff0c;作者是lethilu4796。乍一看这个标题&#xff0c;你可能会觉得这又是一个普通的代码生成工具或者AI辅助编程的脚本。但当我深入研究了它的源码和使用方式后&…...

权限组(PerGroup)设计:超越RBAC的精细化权限管理核心

1. 从“组”到“权限组”&#xff1a;一个被忽视的系统管理基石在系统管理和软件开发中&#xff0c;我们经常听到“用户组”&#xff08;Group&#xff09;这个概念。无论是Linux系统上的/etc/group文件&#xff0c;还是Windows的本地用户和组管理&#xff0c;亦或是各类应用后…...