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