20

私の理解では、次のコードには print が必要です。とのtrue両方が最初の要素を指しているためです。StreamIterator

ただし、次のコードを実行すると、印刷されfalseます。

final HashMap<String, String> map = new HashMap<>();
map.put("A", "B");
final Set<Map.Entry<String, String>> set = Collections.unmodifiableMap(map).entrySet();
Map.Entry<String, String> entry1 = set.iterator().next();
Map.Entry<String, String> entry2 = set.stream().findFirst().get();
System.out.println(entry1 == entry2);

この異なる動作の理由は何でしょうか?

4

3 に答える 3