我需要检查地图中的所有值是否相等.我有一个方法来执行此任务,但想使用库或本机方法.限制:Java 5 + Apache Commons库.
public static boolean isUnique(Map<Dboid,?> aMap){
boolean isUnique = true;
Object currValue = null;
int iteration = 0;
Iterator<?> it = aMap.entrySet().iterator();
while(it.hasNext() && isUnique){
iteration++;
Object value = it.next();
if(iteration > 1){
if (value != null && currValue == null ||
value == null && currValue != null ||
value != null && currValue != null & !value.equals(currValue)) {
isUnique = false;
}
}
currValue = value;
}
return isUnique;
}
Run Code Online (Sandbox Code Playgroud)
a_h*_*ame 11
这样的事情怎么样:
Set<String> values = new HashSet<String>(aMap.values());
boolean isUnique = values.size() == 1;
Run Code Online (Sandbox Code Playgroud)