我需要两个连续的值比较单个哈希图,如下例所示:
关键是:性质 ---- 值是:2
键是:duck ---- 值是:3
关键是:羊 ---- 值是:3
键是:WoodTable ---- 值是:4
关键是:PVCdoor ---- 值是:4
我要问的是我如何比较:
自然的价值与鸭的价值
鸭的价值羊的价值
.... 等等
我试过了,但我无法得到我需要的结果。请如果您有任何想法,我需要您的帮助;这是我使用的函数,但结果根本不是我需要的输出。
谢谢
public Map<String, Integer> setCoefffils(Map<String, Integer> map){
Map.Entry<String,Integer> entry=map.entrySet().iterator().next();
this.listCoeffConceptfilsfinal.put(entry.getKey(), coeffFils);
Set<Entry<String, Integer>> setHm = map.entrySet();
java.util.Iterator<Entry<String, Integer>> it = setHm.iterator();
Entry<String, Integer> e = it.next();
for( Entry<String, Integer> ee : setHm){
// Entry<String, Integer> eeee = it.next();
// for( Entry<String, Integer> eeee : setHm){
System.out.println("key current is: "+ee.getKey() + " ---- Value is: " + ee.getValue());
System.out.println("key following is: "+e.getKey() + " ---- Value is: " + e.getValue());
if(ee.getValue().equals(e.getValue()))
System.out.println(""+ee.getValue() + " et " + e.getValue()+" sont égaux ");
else
System.out.println(" ne sont pas égaux ");
// }
return this.listCoeffConceptfilsfinal;
}
一种解决方案是将所有密钥存储在一个列表中,然后一个接一个地访问它们。
public static void foo(Map<String, Integer> map) {
Set<String> keySet = map.keySet();
String lastKey = null;
for (String key : keySet) {
if (null == lastKey) {
lastKey = key;
continue;
}
if (map.get(key).equals(map.get(lastKey))) {
System.out.println("Les valeurs associées aux clés " + lastKey + " et " + key + " sont égales.");
} else {
System.out.println("Les valeurs associées aux clés " + lastKey + " et " + key + " sont différentes.");
}
lastKey = key;
}
}
但请注意:地图并不总是保证键保持插入顺序。因此,您的比较可能是错误的。如果要保留插入顺序,则必须使用 LinkedHashMap。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句