Мне нужно пропустить HashMap, но придать значение порядку значений. Например, рассмотрим следующий хэш-карту <String, Integer>
:Итерация через HashMap значениями
{"dog" : 2, "bird": 3, "cat" : 1}
Теперь мне нужно перебрать карте дужки в порядке значений восходящих, так что
for() {
System.out.println(currentKey);
}
всегда будет выход
«кошка», «собака», «птица»
В вашем вопросе ваши ключи и значения одинаково сортируются одинаково, поэтому легко понять непонятый вами вопрос. Если бы карта была '{" r ": 2," q ": 3," z ": 1}', вы бы хотели, чтобы 'z r q' (порядок в соответствии со значениями 1, 2, 3) или' q r z'? Вы сказали «порядок значений», и поэтому я предполагаю, что вы хотите 'z r q' (порядок в соответствии со значениями 1, 2, 3), но ... Также могут быть повторяющиеся значения? Например, '{" r ": 2," q ": 3," z ": 1," w ": 1}' (есть две записи со значением '1'). Если да, то в каком порядке вы их хотите? По ключевому слову? Неопределенный? –
Исправлено, спасибо – Joel
Вы исправили первую часть, а не вторую: * «Также могут быть повторяющиеся значения? Например,' {"r": 2, "q": 3, "z": 1, "w ": 1}' (есть две записи со значением '1'). Если да, то в каком порядке вы их хотите? Ключом? Неопределенный?" * –