Могу ли я поменять клавиши двух значений хэш-карты, или мне нужно сделать что-нибудь умное?Java Hashmap: обмен двумя значениями?
Что-то, что будет выглядеть примерно так:
Map.Entry<Integer, String> prev = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (prev != null) {
if (entry.isBefore(prev)) {
entry.swapWith(prev)
}
}
prev = entry;
}
Вы пытаетесь разобраться кучу элементов, используя ключ? Просто используйте TreeMap вместо этого и предоставите Comparator или переопределите equals и compareTo. – aberrant80
Это, вероятно, требует немного большего объяснения. Что такое целые ключи? Применяют ли они какой-то порядок? Если да, и если вы сортируете на основе значения String, почему бы просто не использовать список вместо этого? Или ключ имеет какой-то другой смысл? – cletus