Карта-это интерфейс коллекции для пар клавишных значений. Его классы реализации в основном включают в себя: Hashmap, TreeMap, Hashtable и LinkedHashmap.
• TreeMap: реализация NavigableMap на основе красного черного дерева, которое сортируется в естественном порядке его ключей или в компараторе, предоставленном при создании карты, в зависимости от используемого конструктора.
• Значения HashMAP в порядке, они реализованы в соответствии с хэшкодом ключа. Как мы реализуем сортировку для этого неупорядоченного хэшмапа? Обратитесь к ценности.
Map.Entry возвращает представление коллекций.
Сортировать по ключам
TreeMap находится в порядке возрастания по умолчанию. Если нам нужно изменить метод сортировки, нам нужно использовать компаратор: компаратор. Кораптор может сортировать интерфейс компаратора для объектов сбора или массивов, а также реализовать метод публичного сравнения (T O1, TO2) этого интерфейса для реализации сортировки.
Примечание. Все следующие коды были проверены в JDK1.6
TreeMap сортируется в порядке возрастания по умолчанию
public static void keyupSort () {// По умолчанию, treeMap сортируется в порядке возрастания KeyMap <String, Integer> Map = new TreeMap <String, Integer> (); Map.put ("acb1", 5); map.put ("bac1", 3); map.put ("bca1", 20); map.put ("cab1", map.put ("cap1);" Cap.put ("cap1);" Cap.put ("cab1); 1); map.put ("abc1", 10); map.put ("abc2", 12); // По умолчанию, TreeMap сортирует ключи в порядке возрастания System.out.println ("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Измените метод сортировки и сортировки, спуская ключ
public static void keydownsort () {// treeMap, сортированная по порядку спуска // Сортировка в порядок убывания <string> keyComparator = новый компаратор <string> () {@OverridePublic int compare (String o1, String O2) {// todo Auto-Generated Method stubreTurn O2.comPareto (o1);}}; TreeMap <String, Integer> (KeyComparator); Map.Put ("acb1", 5); map.put ("bac1", 3); map.put ("bca1", 20); map.put ("cab1", 80); map.put ("cba1", 1); map.put ("abc1", 10); map.put (",", 1); map.put ("abc1", 10); map.put ("abc2", 1); put ("abc1", 10); map.put ("abc1", 1); put ("abc1"; 12); System.out.println ("-------------treeMap 按 Ключ 降序排序 --------------------"); for (map.Entry <String, Integer> inpit: map.EntrySet ()) {System.out.println (entry.getKey () + ":" + urgetValue ());}}Сортировать по цене
Следующее демонстрирует только сортировку по TreeMap путем восходящего порядка, и то же самое относится и к HashMap.
Измените метод сортировки TreeMap и сортируйте его в порядок
Примечание. При нормальных обстоятельствах карты не могут быть отсортированы с использованием метода collections.sort (), но карты могут быть преобразованы в список перед сортировкой.
public static void valueUpsort () {// По умолчанию, treeMap сортируется в порядке возрастания по карту ключа <строка, целое число> map = new TreeMap <String, Integer> (); Map.put ("acb1", 5); map.put ("bac1", 3); map.put ("bca1", 20); map.put (cab1 ", 80); cap.put (" bca1 ", 20); put (" cab1 "," map1 "; 1); map.put ("abc1", 10); map.put ("abc2", 12); // Согластное компаратор Acdentive Comporator <map.Entry <String, Integer >> ValueComparator = новый компаратор <map.Entry <string, integer >> () {@OverridePublic int compare (intege, integer> o1, intryger> или integer> или integer> или integer? Автопогенерированный метод stubreturn o1.getValue ()-o2.getValue ();}}; // конвертировать карту в список для сортировки <map.entry <String, Integer >> list = new ArrayList <map.Entry <String, Integer >> (map.Entryset ()) ;// sort-solutions.short (list, valuecompator); в порядке возрастания System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Результаты теста
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
Выше приведено метод реализации сортировки карты Java в соответствии со значением, введенным редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!