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());
}
本文通过三个不同的 Java 代码示例展示了如何使用 StringBuffer 和 HashMap 来生成特定格式的键值对,并遍历输出这些键值对。每个示例的实现方式略有不同,但都围绕着字符串构建及映射存储展开。
3373

被折叠的 条评论
为什么被折叠?



