如果HashMap Java存在,它将获得值

sno*_*lax 4 java dictionary hashmap data-structures

我希望从HasMap获取一个值,但有时候该值不存在所以我这样做了:

int var = 0;
if (hashMapHouse.containsKey("home1") {
    var = hashMapHouse.get("houme1");
}
if(var==0) //do something
else //do something else
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否可以调用hashMap以获取值并测试值是否存在?

Ósc*_*pez 15

在Java 8中,您可以使用getOrDefault方法:

int var = hashMapHouse.getOrDefault("home1", 0);
Run Code Online (Sandbox Code Playgroud)

这是最干净的解决方案,在单行中,您可以获得密钥的值(如果存在),或者预定义的默认值以指示它不存在 - 0在这种情况下.