Предполагая, что пары ключ-значение поступают из потока, и мы читаем их один за другим и добавляем их к TreeMap, которые нужно сортировать по значению, тогда ключ, как я могу это достичь? Я не говорю о какой-либо карте-посреднике, с помощью которой я могу легко написать Comparator, чтобы получить соответствующее значение с этой карты и использовать ее в логике сортировки. Это недопустимо. Непосредственно, как это возможно. Я не думаю, что это возможно без использования другой структуры данных. Или я где-то собираюсь? Любое предложение!Добавление пар ключ-значение в TreeMap в порядке сортировки значений
Возьмем такой пример:
яблоко, 2
банан, 20
апельсин, 5
он должен быть в дереве, как:
яблока, 2
orange, 5
b anana, 20
Javadoc для TreeMap является явным: «Реализация NavigableMap на основе Red-Black. Карта сортируется в соответствии с естественным порядком ее ключей или компаратором, предусмотренным на момент создания карты, в зависимости от того, какой конструктор используется. 'Таким образом, он сортирует только по ключам, если вы не предоставите компаратор. При этом вы можете просто использовать TreeMap с пользовательским компаратором, если это также недопустимо. – Taylor