在Java中向HashMap添加空键或值有什么用?

2022-08-31 11:15:13

HashMap 允许一个空键和任意数量的空值。它有什么用?


答案 1

我对你问的问题并不肯定,但是如果你正在寻找一个示例,说明何时需要使用空键,我经常在地图中使用它们来表示默认大小写(即如果给定键不存在时应该使用的值):

Map<A, B> foo;
A search;
B val = foo.containsKey(search) ? foo.get(search) : foo.get(null);

HashMap专门处理空键(因为它不能调用空对象),但空值并不是什么特别的东西,它们像其他任何东西一样存储在映射中.hashCode()


答案 2

一个例子是用于建模树。如果使用 HashMap 表示树结构,其中键是父级,值是子级列表,则键的值将是根节点。null