Я использую list для отображения результатов в a ListView путем расширения BaseAdapter и реализации различных методов.
Моя проблема: мне нужно отсортировать list в алфавитном порядке на основе имени ключа карты
Вопрос: Каков простой способ сортировки list в алфавитном порядке на основе имени ключа карты?
Кажется, я не могу обмозговать это. Я извлек каждое имя из каждого Map в String массив и отсортировал его (Arrays.sort(strArray);). Но это не сохраняет другие данные в каждом из них Map, поэтому я не слишком уверен, как я могу сохранить другие отображенные значения
Но ваши maps, вероятно, должны быть экземплярами определенного класса.
Ответ 2
Вы должны реализовать Comparator<Map<String, String>> который в основном извлекает значение "name" из двух переданных им map и сравнивает их.
Затем используйте Collections.sort(list, comparator).
Вы уверены, что a Map<String, String> действительно лучший тип элемента для вашего списка? Возможно, вам следует создать другой класс, который содержитMap<String, String> но также имеет getName() метод?