我正在使用 java 8 流将 HashMap 转换为 LinkedHashMap。我有以下代码:
final LinkedHashMap<String, Employee> collect = map.entrySet().stream()
.sorted(Comparator.comparing(o -> o.getValue().getName()))
.collect(Collectors.toMap(e -> e.getKey(), v -> v.getValue(), (o, o2) -> o, LinkedHashMap::new));
一切都很清楚,但是 toMap 方法的最后一个参数让我很困惑。
(o, o2) -> o, LinkedHashMap::new)
据我了解,这是一个 binaryOperator,但我无法理解它是如何工作的以及 'o' 的含义o, LinkedHashMap::new
谁能帮助我理解它或任何更好的方法来实现这一点?