値を持つ Map があり、Map.keySet メソッドを使用して Set を取得します。このコードでは:
Map<String, String> map = new HashMap<>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
Set<String> set = map.keySet();
for (int i = 0; i < 5; i++) {
for (String key : set) {
System.out.println(key);
}
}
私は得ることが保証されていますか
1
2
3
毎回書き出す?この保証はどこに書かれていますか?Javadocで?
編集:実際には挿入順序は気にしませんが、セットで for-each ループを使用すると、基になるマップが変更されない限り、同じ結果が何度も生成されるという事実が気になります (私はput、remove を呼び出します)。