0
я следующий кодом:Transform на карту с предсказуемым порядком
users.stream()
.sorted((u1, u2) -> u2.getScore().compareTo(u1.getScore()))
.limit(count)
.collect(Collectors.toMap((User::getName), (User::getScore)));
Содержанием результата является правильным, но когда я хочу Foreach его - это выход в непредсказуемом результате. Я думаю, это потому, что под капотом используется HashMap.
Есть ли способ собирать в mp с прогнозируемым результатом?
Используйте 'toMap ( Супер T ,? расширяет K> Функция keyMapper, функция Супер T ,? расширяет U> valueMapper, BinaryOperator mergeFunction, Поставщик mapSupplier)' , и заставить функцию слияния выдать исключение, если оно не должно было случиться. –
@Alexis C. Я не должен предоставлять функцию слияния. У меня есть уникальные имена – gstackoverflow
Вот почему я сказал, чтобы исключить функцию слияния. –