A B C, 三个代码块分别输出什么?
A
:
Map<String, String> map = new HashMap<String, String>();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 2; i++) {
sb.delete(0, sb.length());
sb.append("(i)");
for (int j = 0; j < 2; j++) {
sb.delete(sb.indexOf(")") + 1, sb.length());
sb.append("(j)");
map.put(sb.toString(), String.valueOf(i + j));
}
}
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}
B:
Map<String, String> map = new HashMap<String, String>();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 2; i++) {
sb.delete(0, sb.length());
sb.append("(" + i +")");
for (int j = 0; j < 2; j++) {
sb.delete(sb.indexOf(")") + 1, sb.length());
sb.append("(" + j +")");
map.put(sb.toString(), String.valueOf(i + j));
}
}
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
C:
Map<String, String> map = new HashMap<String, String>();
for (int i = 0; i < 2; i++) {
StringBuffer sb = new StringBuffer();
sb.delete(0, sb.length());
sb.append("(i)");
for (int j = 0; j < 2; j++) {
sb.delete(sb.indexOf(")") + 1, sb.length());
sb.append("(j)");
map.put(sb.toString(), String.valueOf(i + j));
}
}
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}