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

【有趣的】关于Map的一些小测试

Map在代码中用到得非常多,它是无序的、key-value结构的,其读取会非常快。
今天看了个小文章Map判空 、空字符串、空key值等各种判断方法,你都掌握了吗?便自己也玩一下。

一、判空

在这里插入图片描述
因为对象已经new出来了,所以map指向的是内存里的一块空间,它不是null。要判断map里是否没有键值对,应该用isEmpty()。
在HashMap实现类中,isEmpty()的逻辑是这样的:

public boolean isEmpty() {return size == 0;}

所以,代码中也可以通过.size()来判断,但是没有isEmpty()优雅呢:
在这里插入图片描述

二、判空2

在这里插入图片描述
已经指定了map就是null,没想到打印日志时还搞出了29行的笑话(⊙﹏⊙)
注意:使用isEmpty()前还是得判null,否则可能空指针。
标准写法如下:

if(map != null && !map.isEmpty()){System.out.println("这是标准写法");
}

三、key和value都可为null

在这里插入图片描述
注意,map.put(null,null);是能够执行的!

四、取key为null

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2E2IDtXD-1690973454147)(https://imgblog.csdnimg.cn/9659a74a5b014d3ebbde3be34f2031b1.png)]

注意map里get的是null,是能够取到值的。
当value为null时,get这个key得到的为null,与获取一个不存在的key效果一样。

五:其他

其他的方法没有玩,就不记录了,像是contailsKey,entry啥的就先不记录了。

相关文章:

【有趣的】关于Map的一些小测试

Map在代码中用到得非常多,它是无序的、key-value结构的,其读取会非常快。 今天看了个小文章Map判空 、空字符串、空key值等各种判断方法,你都掌握了吗?便自己也玩一下。 一、判空 因为对象已经new出来了,所以map指向的…...

【MATLAB第63期】基于MATLAB的改进敏感性分析方法IPCC,拥挤距离与皮尔逊系数法结合实现回归与分类预测

【MATLAB第63期】基于MATLAB的改进敏感性分析方法IPCC,拥挤距离与皮尔逊系数法结合实现回归与分类预测 思路 考虑拥挤距离指标与PCC皮尔逊相关系数法相结合,对回归或分类数据进行降维,通过SVM支持向量机交叉验证得到平均指标,来…...

AI 绘画Stable Diffusion 研究(二)sd模型ControlNet1.1 介绍与安装

部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好,我是风雨无阻。 众所周知,StableDiffusion 是非常强大的AI绘图工具,需要详细了解StableDiffusion的朋友,可查看我之前的这篇文章: …...

接口参数设计原则

1. 不能太动态. 不相信客户端的原则 例如传递 filterFields , 推送一个表的某些字段给上游. 2. 可以服务端提供一些封装. 这个封装可以是写死的组合, 也可以是后端配置的. 最好的是 代码里的领域类bean 1,1对应一个名称. 可以是 classReference. 运营态有很多字段是给用户看的…...

网络安全防护利器:SK5代理与IP代理的技术对比

一、IP代理与SK5代理技术简介 IP代理: IP代理是一种通过中间服务器转发网络请求的技术。用户通过向代理服务器发出请求,代理服务器转发请求至目标服务器,然后将目标服务器的响应返回给用户。主要功能包括隐藏真实IP地址、绕过地理限制和IP封锁…...

IDEA删除本地git仓库、创建本地git仓库、关联其他仓库并上传

IDEA删除本地git仓库、创建本地git仓库、关联其他仓库并上传 删除本地Git仓库 创建本地Git仓库 关联其他仓库并上传 要在IntelliJ IDEA中删除本地Git仓库并创建新的本地Git仓库,以及关联其他仓库并上传,请按照以下步骤进行操作: 删除本地G…...

JavaEE简单示例——在使用Tomcat的时候可能出现的一些报错

简单介绍: 在我们之前使用Tomcat的时候,经常会出现在启动的时候因为一些报错导致项目无法正常的启动,我们就对一些比较常见的报错来看一下可能导致的原因,以及出现报错之后如何去解决。 严重: Failed to initialize end point a…...

webrtc的线程模型

目录 线程的声明 线程创建过程 向线程中投递消息 从消息队列中取消息的具体实现 处理线程消息 webrtc线程模块的实现逻辑在 rtc_base\thread.h 文件中 比如想创建一个线程&#xff1a; //声明要创建的线程指针&#xff0c;通过智能指针管理 std::unique_ptr<rtc::Thr…...

数据库备份还原-mysqldump、mydumper、xtrabackup、压缩

目录 数据库备份&#xff0c;数据库为school&#xff0c;素材如下 一、创建student和score表 二、为student表和score表增加记录 三、练习题 数据库备份&#xff0c;数据库为school&#xff0c;素材如下 一、创建student和score表 CREATE TABLE student ( id INT(10) NOT…...

【黑马程序员前端】JavaScript入门到精通--20230801

B站链接 理论 HTML相关知识【黑马程序员前端】 https://blog.csdn.net/m0_48964052/article/details/125951658 CSS相关知识【黑马程序员前端】 https://blog.csdn.net/m0_48964052/article/details/125951788 黑马程序员——JavaScript基础1&#xff08;初识 JavaS…...

100道Java多线程面试题(上)

线程创建方式&#xff1f; 线程有哪些基本状态? 如何停止一个正在运行的线程&#xff1f; 有三个线程T1,T2,T3,如何保证顺序执行&#xff1f; 在线程中你怎么处理不可控制异常&#xff1f; 如何创建线程池&#xff1f; 以下情况如何使用线程池&#xff1f;高并发、任务时间短;…...

web开发中的安全和防御入门——csp (content-security-policy内容安全策略)

偶然碰到iframe跨域加载被拒绝的问题&#xff0c;原因是父页面默认不允许加载跨域的子页面&#xff0c;也就是的content-security-policy中没有设置允许跨域加载。 简单地说&#xff0c;content-security-policy能限制页面允许和不允许加载的所有资源&#xff0c;常见的包括&a…...

定了!全国2023下半年软考(高级、中级、初级)报名时间汇总

截止到2023年8月2日&#xff0c;有以下地区公布了软考报名时间&#xff1a; 安徽软考2023下半年报名时间&#xff1a;8月15日9:00至8月21日16:00 黑龙江软考2023下半年报名时间&#xff1a;8月16日至8月22日 甘肃软考2023下半年报名时间&#xff1a;8月28日9:00至9月6日18:00…...

Linux下安装配置Redis

文章目录 安装依赖库上传安装包并解压 启动默认启动指定配置启动开机自启 安装 依赖库 Redis是基于C语言编写的&#xff0c;因此首先需要安装Redis所需要的gcc依赖&#xff1a; yum install -y gcc tcl上传安装包并解压 将Redis安装包上传到服务器的任意目录&#xff0c;例…...

深度学习(33)——CycleGAN(2)

深度学习&#xff08;33&#xff09;——CycleGAN&#xff08;2&#xff09; 完整项目在在这里&#xff1a;欢迎造访 文章目录 深度学习&#xff08;33&#xff09;——CycleGAN&#xff08;2&#xff09;1. Generator2. Discriminator3. fake pool4. loss定义5. 模型参数量6…...

WeakMap and WeakSet(弱映射和弱集合)

在垃圾回收中了解JavaScript 引擎在值“可达”和可能被使用时会将其保持在内存中 let john { name: "John" }; // 该对象能被访问&#xff0c;john 是它的引用 // 覆盖引用 john null; // 该对象将会被从内存中清除通常&#xff0c;当对象、数组之类的数据结构在内…...

【Vue3基础】组件保持存活、异步加载组件

一、组件保持存活 1、需求描述 点击按钮跳转到其他组件后&#xff0c;原组件不会被销毁 2、知识整理 1&#xff09;组件生命周期 创建期&#xff1a;beforeCreate、created 挂载期&#xff1a;beforeMount、mounted 更新期&#xff1a;beforeUpdate、updated 销毁期&am…...

在 3ds Max 中使用相机映射将静止图像转换为实时素材

推荐&#xff1a; NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 在 Photoshop 中准备图像 步骤 1 这是我将在教程中使用的静止图像。 这是我的静态相机纸箱的快照。 静止图像 步骤 2 打开 Photoshop。将图像导入 Photoshop。 打开 Photoshop 步骤 3 单击套索工…...

如何使用GIL解决Python多线程性能瓶颈

如何使用GIL解决Python多线程性能瓶颈 引言&#xff1a; Python是一种使用广泛的编程语言&#xff0c;但其在多线程方面存在一个性能瓶颈&#xff0c;即全局解释器锁&#xff08;Global Interpreter Lock&#xff0c;简称GIL&#xff09;。GIL会限制Python的多线程并行能力&am…...

k8s概念-深入pod

回到目录 工作负载&#xff08;workloads&#xff09; 工作负载&#xff08;workload&#xff09;是在kubernetes集群中运行的应用程序。无论你的工作负载是单一服务还是多个一同工作的服务构成&#xff0c;在kubernetes中都可以使用pod来运行它 workloads分为pod与control…...

从一次生产事故复盘:我们如何优雅地处理用户上传的‘异常’Excel文件(附Apache POI配置详解)

从生产事故到防御体系&#xff1a;构建Excel文件处理的工程化解决方案那天凌晨2点&#xff0c;我被一阵急促的告警声惊醒。监控系统显示&#xff0c;核心文件处理服务的错误率在10分钟内飙升到35%&#xff0c;大量用户上传的Excel文件无法正常解析。更糟糕的是&#xff0c;部分…...

HFSS仿真结果怎么看?一文读懂S参数与电场图,让你的T型波导分析不再迷茫

HFSS仿真结果深度解析&#xff1a;从S参数到电场图的工程实践指南面对HFSS仿真生成的复杂数据图表&#xff0c;许多工程师常陷入"看得见数据却读不懂含义"的困境。本文将带您穿透数据表象&#xff0c;掌握T型波导性能分析的核心方法论。1. S参数&#xff1a;波导性能…...

[智能体-69]:重新认知MCP:协议不生产智能,只是AI全域交互的标准化基石

MCP只是提供了大模型、编排调度、外部工具能够进行结构化交流的标准&#xff0c;而整个系统的智能主要依赖编排调度&#xff0c;与外部软件系统的交互取决于外部工具&#xff0c;包括外部语音交互、视觉交互、数字化交互。当下MCP&#xff08;Model Context Protocol&#xff0…...

BLE四大广播模式详解:可连接/不可连接/定向/周期广播

一、前言在低功耗蓝牙&#xff08;BLE&#xff09;开发中&#xff0c;广播&#xff08;Advertising&#xff09;是设备发现、连接建立、数据广播、设备重连的核心基石&#xff0c;所有BLE交互流程均始于广播报文的收发。不同于传统经典蓝牙&#xff0c;BLE所有广播行为标准化、…...

Arduino PWM转4-20mA工业电流信号:二阶滤波与V/I转换电路设计

1. 项目概述&#xff1a;从PWM到工业标准电流信号在工业自动化、过程控制和传感器领域&#xff0c;4-20 mA电流环是一个几乎无处不在的标准。它用4 mA代表测量值的下限&#xff08;如0C&#xff09;&#xff0c;20 mA代表上限&#xff08;如100C&#xff09;&#xff0c;这种设…...

DragonBones与Godot集成:骨骼动画的可编程化实践

1. 为什么在Godot里用DragonBones不是“锦上添花”&#xff0c;而是“绕不开的刚需” 去年上线一个横版动作手游Demo时&#xff0c;美术团队交来一套20个角色、每个角色含8套动画&#xff08;待机/跑动/跳跃/攻击/受击/死亡/闪避/必杀&#xff09;的Spine资源。我兴冲冲导入God…...

16个分片+2副本:pg_shard的master_create_worker_shards最佳实践

16个分片2副本&#xff1a;pg_shard的master_create_worker_shards最佳实践 【免费下载链接】pg_shard ATTENTION: pg_shard is superseded by Citus, its more powerful replacement 项目地址: https://gitcode.com/gh_mirrors/pg/pg_shard pg_shard作为PostgreSQL的分…...

用图神经网络做缺陷定位,准确率比传统方法高出30%

在现代软件工程的复杂迷宫中&#xff0c;缺陷定位始终是测试团队面临的核心挑战。想象这样一个场景&#xff1a;一个电商系统在特定压力条件下偶发订单丢失&#xff0c;日志中只留下泛泛的超时错误&#xff0c;问题可能深藏在上百个微服务的调用链、分布式事务的竞态条件或某个…...

ubuntu环境下为python项目配置taotoken多模型api密钥与端点

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Ubuntu环境下为Python项目配置Taotoken多模型API密钥与端点 1. 准备工作 在Ubuntu系统上为Python项目接入Taotoken&#xff0c;首…...

从数据到模型:手把手教你预处理MPIIFaceGaze和EyeDiap数据集(Python实战)

从数据到模型&#xff1a;手把手教你预处理MPIIFaceGaze和EyeDiap数据集&#xff08;Python实战&#xff09;当你第一次打开MPIIFaceGaze或EyeDiap数据集的压缩包时&#xff0c;那种面对杂乱文件夹和神秘.mat文件的迷茫感&#xff0c;我太熟悉了。作为计算机视觉工程师&#xf…...