Как мы можем отсортировать HashMap<key, ArrayList>?
Я хочу отсортировать на основе значения в ArrayList.
Переведено автоматически
Ответ 1
Обязательно ли использовать хэш-карту? Если вам нужен только интерфейс карты, используйте древовидную карту
Если вы хотите выполнить сортировку путем сравнения значений в хэш-карте. Для этого вам нужно написать код, если вы хотите сделать это один раз, вы сможете отсортировать значения вашей хэш-карты.:
for (Person p : peopleByAge) { System.out.println(p.getName() + "\t" + p.getAge()); }
Если вы хотите часто обращаться к этому отсортированному списку, то вы могли бы вставить свои элементы в HashMap<TreeSet<Person>>, хотя семантика наборов и списков немного отличается.
В любом случае, вы не можете иметь отсортированные значения в HashMap (согласно API This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time ].
Хотя вы можете перенести все эти значения в LinkedHashMap, также для последующего использования.