我有以下代码:
users.stream()
.sorted((u1, u2) -> u2.getScore().compareTo(u1.getScore()))
.limit(count)
.collect(Collectors.toMap((User::getName), (User::getScore)));结果的内容是正确的,但当我想要获取它时-它输出的是不可预测的结果。我认为这是因为在引擎盖下使用了HashMap。
有没有办法收集到mp并得到可预测的结果?
发布于 2015-10-03 21:00:57
这是可行的:
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));https://stackoverflow.com/questions/32922772
复制相似问题