Map 的 key、value 是否允许为null
Map的key和value是否允许null?
直接写程序验证一下:
import java.util.HashMap; import java.util.Hashtable; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap;/*** @author robin*/ public class MyTest {public static void main(String[] args) {Map<Object, Object> m1 = new HashMap<>();Map<Object, Object> m2 = new TreeMap<>();Map<Object, Object> m3 = new Hashtable<>();Map<Object, Object> m4 = new ConcurrentHashMap<>();try {m1.put("zzz", null);} catch (Exception e) {System.out.println("m1-a:" + e.getMessage());}try {m1.put(null, null);} catch (Exception e) {System.out.println("m1-b:" + e.getMessage());}try {m2.put("zzz", null);} catch (Exception e) {System.out.println("m2-a:" + e.getMessage());}try {m2.put(null, null);} catch (Exception e) {System.out.println("m2-b:" + e.getMessage());}try {m3.put("zzz", null);} catch (Exception e) {System.out.println("m3-a:" + e.getMessage());}try {m3.put(null, null);} catch (Exception e) {System.out.println("m3-b:" + e.getMessage());}try {m4.put("zzz", null);} catch (Exception e) {System.out.println("m4-a:" + e.getMessage());}try {m4.put(null, null);} catch (Exception e) {System.out.println("m4-b:" + e.getMessage());}}}
执行结果:
m2-b:null m3-a:null m3-b:null m4-a:null m4-b:null
结论如下表:
转载于:https://www.cnblogs.com/amunote/p/10211760.html
Map 的 key、value 是否允许为null相关推荐
- 使用可变对象作为Java Map的key,会带来潜在风险的一个例子
package hashMap;import java.util.HashMap; import java.util.Map;/* * 可变对象是指创建后自身状态能改变的对象.换句话说,可变对象是该对 ...
- java map byte[],java中byte数组不能作为map的key使用
今天在使用java写代码的时候,用byte数组作为map的key来使用,发现在遍历的时候get到之前传进去的值总是为空,很是困惑,后来查了下资料发现java中的字节数组不能直接作为map的key来使用 ...
- Java小知识-----Map 按Key排序和按Value排序
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...
- 各种集合key,value能否为null
HashMap key,value都可以为null static final int hash(Object key) {int h;return (key == null) ? 0 : (h = k ...
- mysql2个字段还会map_通过注解实现MyBatis将sql查询结果的两个字段分别作为map的key,value...
package com.lsz.config.enums; import java.lang.annotation.*; /** * 将查询结果映射成map的注解,其中第一个字段为key,第二个字段为 ...
- MySQL.MyBatis怎么将查询的两个字段作为Map的key和value
MySQL.MyBatis怎么将查询的两个字段作为Map的key和value 问题的由来 前端使用Echarts图标显示汇总数据.需要形式如下的数据: {"C20": 42.01, ...
- new Map()详细介绍 map .set(key,value)map.sizemap.get(key)map.has(key)map.delete(key)map.clear()
1.let map = new Map(); 2.let map = new Map([[key,value],[key,value]]); //默认带初始化参数的定义 理解就是:new Ma ...
- java map key 升序_Java Map 按 key 升序排序
最近开发微信和支付宝的服务端支付,涉及到字典的排序和 url 参数转换成字典的操作,整理了一个工具类: import java.util.ArrayList; import java.util.Col ...
- 关于ConcurrentHashMap的key和value不能为null的深层次原因
前面分析ConcurrentHashMap的过程中可以发现,其要求key和value不能为空.实际上,不仅仅是ConcurrentHashMap,前面的HashTable,以及ConcurrentSk ...
最新文章
- HA: Forensics靶机渗透测试
- 2008R2Win7管理二十八Mail之基本使用
- python学习笔记(3) -- 常用数据类型
- 计算机山西特岗考试题库,山西特岗历年试题
- 腾讯云centos7搭建javaweb服务器(本人亲自经历,详细)
- win7安装mysql8.0创建用户_CentOS如何安装MySQL8.0、创建用户并授权的详细步骤
- (二)Mysql 基础了解,修改字符集,配置文件
- java获取mp3的时长和播放mp3文件
- 树莓派竟出微控制器了!Raspberry Pi Pico 只需 4 美元!
- 项目讨论:本地手机经销商怎样用移动站点开展本地营销?
- 奇迹s12源码_muserver 奇迹MU服务端VC++源码
适合研究 的朋友 Game Simulator 模拟 器 269万源代码下载- www.pudn.com...
- 24_MySQL高可用之MMM
- markdown如何设置图片大小_cnblogs文章/MarkDown内如何调整图片的宽度?
- 【转载】知行合一在年轻人中的作用
- LaTeX入门学习(8)(术语)
- 我94年的,做了一年外包我就跑路了
- Python自动化操作Excel绘制条形图!
- UICollectionView左对齐
- 视频批量剪辑:如何给视频添加特效,比如:色彩变幻效果特效,怎么制作?
- 用什么软件压缩视频最好?最好的视频压缩软件?
热门文章
- python get setdefault_python 字典 setdefault()和get()方法比较详解
- 桌面整理工具不显示文件夹_「工具神器」你的桌面该整理了。
- 使用electron脚手架electron-vue
- 向一个对象数组里面添加新的属性 + 将一个对象数组数据拿出来变成另一个对象
- vue2.0+stylus实现星级评定组件,computed计算属性实现全星半星,动态改变星级,多种星星规格
- 计算机基础:离散数学和完备性
- matplotlib显示中文字体
- RabbitMQ code=200, text=Goodbye比较萌新的问题大佬绕道,乌拉~!
- Dell R710服务器磁盘恢复数据库一例(记录)
- onchange事件与onpropertychange事件的区别