我需要检查地图中的所有值是否为空,我有这个方法,如果可能的话我想用内置的方法替换.限制:Java 5和访问Apache Commons库.
/* Checks if all values are null */
public static boolean isEmpty(Map<Dboid,?> aMap){
boolean isEmpty = true;
Iterator<?> it = aMap.entrySet().iterator();
while(it.hasNext() && isEmpty){
Object value = it.next();
if(value != null) {
isEmpty = false;
}
}
return isEmpty;
}
Run Code Online (Sandbox Code Playgroud)
我知道这个问题是针对 Java 5 的,但是对于那些像我一样从谷歌搜索来到这里的人:
对于 Java >= 8,您可以执行以下操作:
boolean allValuesAreNull = yourMap.values()
.stream()
.allMatch(Objects::isNull);
Run Code Online (Sandbox Code Playgroud)
有一个细微差别:它将true用于空地图。
另一种解决方案,不使用任何第三方库.
Collections.frequency(aMap.values(), null) == aMap.size()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10693 次 |
| 最近记录: |