我有以下代码:
users.stream()
.sorted((u1, u2) -> u2.getScore().compareTo(u1.getScore()))
.limit(count)
.collect(Collectors.toMap((User::getName), (User::getScore)));
结果的内容是正确的,但是当我想要它的时候 - 它以不可预测的结果输出。我认为这是因为使用了HashMap。
有没有办法收集到具有可预测结果的mp?
答案 0 :(得分:0)
这有效:
return users.stream()
.sorted((u1, u2) -> u2.getScore().compareTo(u1.getScore()))
.limit(count)
.collect(Collectors.toMap((User::getName), (User::getScore), (k, v) -> {
throw new RuntimeException(String.format("Duplicate key %s", k));
},
LinkedHashMap::new));