根据我理解,以下代码应该会打印
true
,因为Stream
和Iterator
都指向第一个元素。但是,当我运行以下代码时,它打印出了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);
这种不同的行为可能是由什么原因引起的?