0
我正在製作一個程序,使用兩個文本文件(兩個表),並對它們執行基本的關係代數(聯合,差異,交集和聯接)。我正在使用Hashmaps來每次保存值(鍵/值),但是我想知道如何在每個操作中使用一個主循環而不是4個循環。 這是我的代碼:避免重複(for循環)
for (Map.Entry<Integer, String> htEntries : map.entrySet()) {
if(map2.containsKey(htEntries.getKey()) && map2.get(htEntries.getKey()).equals(htEntries.getValue())){
inter.put(htEntries.getKey(), htEntries.getValue());
}
}
for (Map.Entry<Integer, String> joinEntries : map.entrySet()) {
if(map2.containsKey(joinEntries.getKey())){
join.put(joinEntries.getKey(), joinEntries.getValue());
}
}
for (Map.Entry<Integer, String> diffEntries : map.entrySet()) {
if(!map2.containsKey(diffEntries.getKey())){
diff.put(diffEntries.getKey(), diffEntries.getValue());
}
}
for (Map.Entry<Integer, String> diffEntries2 : map2.entrySet()) {
if(!map.containsKey(diffEntries2.getKey())){
diff2.put(diffEntries2.getKey(), diffEntries2.getValue());
}
}
是否有一些理由不只是使用Set? – JimW 2015-04-01 20:50:03
@JimW我需要得到一個「鍵 - >值」(值的關鍵),例如{a→1,b→2,c→2,d→1} – yacinebenzmane 2015-04-02 02:15:30