当前位置: 首页 > 面试题库 >

HashMap返回未找到的键的默认值?

安奇
2023-03-14
问题内容

是否有可能为HashMap集合中未找到的所有键返回默认值?


问题答案:

[更新]

正如其他答案和评论者所指出的那样,从Java
8开始,您可以简单地调用Map#getOrDefault(...)

[原版的]

没有Map实现可以完全做到这一点,但是通过扩展HashMap来实现自己的实现很简单:

public class DefaultHashMap<K,V> extends HashMap<K,V> {
  protected V defaultValue;
  public DefaultHashMap(V defaultValue) {
    this.defaultValue = defaultValue;
  }
  @Override
  public V get(Object k) {
    return containsKey(k) ? super.get(k) : defaultValue;
  }
}


 类似资料:
  • 问题内容: 我有以下选择语句,以获取流的下一个预定项目。如果没有匹配的行,我希望它返回默认值。这是我正在使用的行: 那应该可以获取最近计划的项目,但如果它早于查询之前30分钟,则不会。但是,如果用户未安排任何时间,则我需要一个默认值,以便流中实际播放某些内容。我尝试了以下方法: 和: 但是,如果未找到任何行,它将始终返回空结果。我该如何返回默认值? 问题答案: 一种方法 由于只返回一行,因此可以使

  • 我正在尝试使用一个以我的类单元格为键的HashMap。但是,在将项放入HashMap之后,对该项调用contains将返回false。 这会打印出false和true,在这里应该打印true和true,因为根据映射,docs containsKey使用.equals()。我做错了什么?

  • 问题内容: 我希望模仿允许用户指定“默认”返回值的内置函数(如)的行为。我最初的尝试是这样做 问题是,如果用户希望成为其返回值,则此函数将引发异常。第二次尝试: 这解决了上述问题,并允许用户指定任何任意值,但是带来了麻烦,因为用户必须始终在其函数调用中进行指定;他们不能只提供最后。同样,可以使用,但如果用户偏爱该语法,则会阻止用户使用。 结合并提供了可行的解决方案,但感觉这需要付出很多努力。它还可

  • 我正在学习这个教程,它试图通过构建一个最小的JVM来最小化JVM内存占用。

  • 我有一个托管在openShift上的wordpress应用程序,使用php-5.4墨盒部署。到今天为止,它再次使用php-5.3二进制文件,这会引发很多错误。我已经重新启动了应用程序以及php墨盒,仍然是相同的错误。我该如何修复这个问题? 哪个php /usr/bin/php php -v PHP警告:PHP启动:无法加载动态库'/usr/lib 64/PHP/modules/LDAP . so

  • 我的没有从strings.xml文件返回正确的值。xml中的declare值是“popular”,但是onStart()方法中返回的值是“popularity.desc”。