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.如果不 ...
随机推荐
- 开机启动/etc/rc.local失效无效怎么办?解决方法
开机启动/etc/rc.local失效问题的解决方法 第一种情况:当centOS 随机启动文件 /etc/rc.local 失效时请按如下修改1.echo /etc/rc.local >> ...
- python函数回顾:slice()
描述 slice() 函数实现切片对象,主要用在切片操作函数里的参数传递. 语法 class slice(stop) class slice(start, stop[, step]) 参数说明: st ...
- django--博客系统--后台管理
1.后台管理功能主要实现了,文章的添加与修改,以及富文本的使用 前端页面 母版 <!DOCTYPE html> <html lang="en"> <h ...
- python进程间数据不共享(示例演示)
import multiprocessing data_list = [] def task(arg): data_list.append(arg) print(data_list) def run( ...
- 【我的Android进阶之旅】解决Android Studio启动时报错:Java 1.8 or later is required.
错误描述 在公司电脑上运行Android Studio 2.2已经有一段时间了,但是自己的笔记本上还是用的Android Studio 1.5,今天晚上下了一个Android Studio 2.2压缩 ...
- kotlin-plugin-1.1.2-release-Studio2.3-1.zip 下载地址
1 官方下载地址,下载较慢,我家100m联通光纤,下载也就120k左右 http://jetbrains-plugins.s3.amazonaws.com/6954/34562/kotlin-plug ...
- C#简单实现动态数据生成Word文档并保存
今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来 ...
- JS的深拷贝
var obj = { name: "wuyongyu", age: 18 } 第一种方式: function deepClone(obj){ // 判断传入的数据类型 - 数组或 ...
- 科班学习java遇到瓶颈,每天云里雾里怎么办?
声明:这个问题困扰了我好久,今天在知乎找到了答案.知乎链接https://www.zhihu.com/question/24240982,感谢大神@Tony He的回答. 作者:Tony He链接:h ...
- SVN项目迁移到GIT
源项目为SVN项目, 复制一份出来后. 在VS里无法修改 源码管理器的插件为GIT. 解决方法: 删除SVN插件信息 在解决方案文件中. 删除以下SVN信息就可以了 删除后: