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的更多相关文章

  1. 理解ThreadLocal —— 一个map的key

    作用: 当工作于多线程中的对象使用ThreadLocal维护变量时,threadLocal为每个使用该变量的线程分配一个独立的变量副本. 接口方法: protected T initialValue( ...

  2. Java Map按键(Key)排序和按值(Value)排序

    Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value).1.按键排序jdk内置的java.util包下的TreeMap<K,V ...

  3. Java Map 按Key排序和按Value排序

    Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...

  4. 对象作为 map 的 key 时,需要重写 equals 方法和 hashCode 方法

    对象作为 map 的 key 时,需要重写 hashCode 和 equals方法 如果没有重写 hashCode 方法,那么下面的代码示例会输出 null 我们首先定义一个对象:BmapPoint, ...

  5. Java Map 按Key排序和按Value排序【转】【补】

    package kingtool.sort; import java.util.ArrayList; import java.util.Collections; import java.util.Co ...

  6. 【Java】对Map按key和value分别排序

    一.什么是Map? 在讲解Map排序之前,我们先来稍微了解下map. map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. ...

  7. 各种集合key,value能否为null

    转: 各种集合key,value能否为null 2019年03月12日 13:22:58 mingwulipo 阅读数 238   HashMap key,value都可以为null static f ...

  8. Java小知识-----Map 按Key排序和按Value排序

    Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...

  9. C++ map通过key获取value

    c++的map中通过key获取value的方法 一般是value  =map[key],或者另一种迭代器的方式 1.在map中,由key查找value时,首先要判断map中是否包含key. 2.如果不 ...

随机推荐

  1. Windows窗口的层次关系(转)

    今天看到这篇文章,觉得蛮有用的,我之前也对这个不大了解,特转载此处. 转载地址:http://www.51testing.com/html/200804/n80848.html 在Window 的图形 ...

  2. 《JAVA多线程编程核心技术》 笔记:第六章:单例模式与多线程

    一.立即加载/"饿汉模式"和延迟加载/"懒汉模式" 立即加载(又称饿汉模式):在使用类的时候已经将对象创建完毕,常见实现方法是直接new实例化 延迟加载(又称懒 ...

  3. RPC远程过程调用概念及实现

    RPC框架学习笔记 >>什么是RPC RPC 的全称是 Remote Procedure Call 是一种进程间通信方式. 它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过 ...

  4. ORACLE的测试用户Scott

    Oracle数据库的测试用户Scott的密码为什么是Tiger? 1977年6月,Larry Ellison 与 Bob Miner 和 Ed Oates 在硅谷共同创办了一家名为软件开发实验室(So ...

  5. Vmware VsPhere下的VM安装Hyper-v服务

    问题:Vmware VsPhere下的VM无法安装Hyper-v服务 解决方案:打开vmware vm的安装目录,然后找到.vmx的文件,然后进行修改 打开w-c-w2012.vmx文件 添加如下 h ...

  6. 转+总结!! 关于jsp页面取值方式

    1.      前台往后台传值,通过提交表单,在后台有set,get方法,可以直接取到.如果通过request.getParameter(paramName) 去获取通过会报空指针异常. 其中requ ...

  7. ugui中实现圆形按钮

    实现圆形按钮,原本是使用 alphHitTestMinimumThreshold 改成重载IsRaycastLocationValid来实现,直接贴代码 using UnityEngine; usin ...

  8. 在VMW里安装Ghost操作系统遇到的问题及解决的办法

    条件:Ghost系列系统镜像文件 遇到的问题:1.导入镜像文件时提示“无法检测此光盘映像中的操作系统”: 2.分区时提示“ezboot kernel not found” 解决办法:1.直接先创建一个 ...

  9. 【我的Android进阶之旅】Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方法

    错误描述 今天使用第三方的so库时候,调用JNI方法时出现了错误.报错如下所示: 11-01 16:39:20.979 4669-4669/com.netease.xtc.cloudmusic E/a ...

  10. Vue(6)- Vue-router进阶、单页面应用(SPA)带来的问题

    一.Vue-router进阶 回顾学过的vue-router,并参考官方文档学习嵌套路由等路由相关知识. 二.单页面应用(SPA)带来的问题 1.虽然单页面应用有优点,但是,如果后端不做服务器渲染(h ...