Я пытаюсь отсортировать карту tableProbability
в новую под названием sorted
. В tableProbability
значения следующие:
Key | Value |
---|---|
M | 0.1 |
U | 0.3 |
L | 0.3 |
T | 0.2 |
I | 0.1 |
У меня есть следующий код, который сортирует Map
:
LinkedHashMap<Character, Double> sorted = new LinkedHashMap<>();
tableProbability.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
.forEachOrdered(x -> sorted.put(x.getKey(), x.getValue()));
Но в итоге я получаю следующее Map
:
Key | Value |
---|---|
L | 0.3 |
U | 0.3 |
T | 0.2 |
I | 0.1 |
M | 0.1 |
И что я должен получить:
Key | Value |
---|---|
U | 0.3 |
L | 0.3 |
T | 0.2 |
M | 0.1 |
I | 0.1 |
Есть ли способ сохранить повторяющийся порядок или, по крайней мере, когда он находит дубликат, чтобы поместить его за тот, который имеет равное значение?