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
结论如下表:

Map 的 key、value 是否允许为null的更多相关文章
- 理解ThreadLocal —— 一个map的key
作用: 当工作于多线程中的对象使用ThreadLocal维护变量时,threadLocal为每个使用该变量的线程分配一个独立的变量副本. 接口方法: protected T initialValue( ...
- Java Map按键(Key)排序和按值(Value)排序
Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value).1.按键排序jdk内置的java.util包下的TreeMap<K,V ...
- Java Map 按Key排序和按Value排序
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...
- 对象作为 map 的 key 时,需要重写 equals 方法和 hashCode 方法
对象作为 map 的 key 时,需要重写 hashCode 和 equals方法 如果没有重写 hashCode 方法,那么下面的代码示例会输出 null 我们首先定义一个对象:BmapPoint, ...
- Java Map 按Key排序和按Value排序【转】【补】
package kingtool.sort; import java.util.ArrayList; import java.util.Collections; import java.util.Co ...
- 【Java】对Map按key和value分别排序
一.什么是Map? 在讲解Map排序之前,我们先来稍微了解下map. map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. ...
- 各种集合key,value能否为null
转: 各种集合key,value能否为null 2019年03月12日 13:22:58 mingwulipo 阅读数 238 HashMap key,value都可以为null static f ...
- Java小知识-----Map 按Key排序和按Value排序
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...
- C++ map通过key获取value
c++的map中通过key获取value的方法 一般是value =map[key],或者另一种迭代器的方式 1.在map中,由key查找value时,首先要判断map中是否包含key. 2.如果不 ...
随机推荐
- Fluent Ribbon 第六步 StartScreen
上一节,介绍了Toolbar的主要功能,说明了ToolBar的一些最基本用法,这一节,介绍Ribbon的一个重要功能startScreen, startScreen软件第一次启动,呈现的界面. 由于R ...
- 推荐10 个短小却超实用的 JavaScript 代码段
1. 判断日期是否有效 JavaScript中自带的日期函数还是太过简单,很难满足真实项目中对不同日期格式进行解析和判断的需要.jQuery也有一些第三方库来使日期相关的处理变得简单,但有时你可能只需 ...
- git --fast-version-control
--distributed-is-the-new-centralized 读二进制文件 python 读doc xls 几乎所有的版本控制系统都以某种形式支持分支.使用分支意味着你可以把你的工作从 ...
- Apache Tez Design
http://tez.incubator.apache.org/ http://dongxicheng.org/mapreduce-nextgen/apache-tez/ http://dongxic ...
- Java 之继承和 final 关键字
继承的概述 继承的特点 super 关键字 函数覆盖 子类的实例化过程 final 关键字 1. 继承的概述 继承是类与类之间的关系. 继承的好处: 提高了代码的复用性 让类与类之间产生了关系, 给第 ...
- 如何使用django中的cookie和session?
1.Cookie 介绍 Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Co ...
- Linux入门-教学视频学习笔记
视频地址:https://www.bilibili.com/video/av18156598 1.sudo权限 比如说关机.重启.添加其他用户. 2.Shell是什么? 这是一个结构图,比如在外层应用 ...
- 【教程】Microsoft Visual Studio 2015 安装Android SDK
http://blog.sina.com.cn/s/blog_51f9ffaa0102vuhy.html Hi,大家好,自vs2015发布后,有很多小伙伴尝试使用VS2015开发安卓,由于是新手,一折 ...
- Keras实践:实现非线性回归
Keras实践:实现非线性回归 代码 import os os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" import ke ...
- ruby underscore
“examScore".underscore : exam_score "ExamScore".underscore: exam_score