如果key为空,则从哈希映射中删除元素

时间:2013-12-04 23:53:36

标签: java string hashmap key

如何在Java中找到HashMap的元素,如果HashMap是表单并且一个键是空的,那么它只包含一个空白字符。

在我的例子中:

让wordMap成为填充元素的HashMap实例。

if (wordMap.containsKey("")) {
  wordMap.remove("");
}

这没用。我希望有人可以帮助我。

在我这样做之后,我将哈希映射转换为树图并按最大的整数对其进行排序。我打印到控制台,这是我得到的

System.out.println("results: " + tree)

我上了控制台:

results: { =194, in=73, ...}

谢谢

3 个答案:

答案 0 :(得分:3)

你可以做几件不同的事情。对于你的问题,我会这样做:

if (wordMap.containsKey(" ")) {
  wordMap.remove(" ");
}

但是,为了更全面,我会遍历密钥并删除任何通过StringUtils.isEmpty()测试的密钥。

答案 1 :(得分:1)

您是否正在尝试检索该值?如果是,那么你需要更换它   wordMap.remove( “”); 同   wordMap.get( “”);

否则,如果您尝试使用密钥“”删除条目,这是正确的方法。

答案 2 :(得分:0)

如果您使用的是Java 8, 那么您可以应用以下解决方案。

    wordMap.entrySet()
       .removeIf(e -> StringUtils.isBlank(e.getKey()));

这里StringUtils.isBlank可以用自定义逻辑替换,以检查无效密钥。