1. Теоретическая подготовка
Карта-это интерфейс коллекции для пар клавишных значений. Его классы реализации в основном включают в себя: Hashmap, TreeMap, Hashtable и LinkedHashmap.
TREEMAP: реализация NavigableMap, основанная на красном черном дереве, которая сортируется в естественном порядке его клавиш или на основе компаратора, предоставленного при создании отображения, в зависимости от используемого конструктора.
Значения HashMap в порядке. Они реализованы в соответствии с хэшкодом ключа. Как мы реализуем сортировку для этого неупорядоченного хэшмапа? Обратитесь к ценности.
Map.Entry возвращает представление коллекций.
2. Сортировка ключей
TreeMap находится в порядке возрастания по умолчанию. Если нам нужно изменить метод сортировки, нам нужно использовать компаратор: компаратор. Компаратор может сортировать объекты или массивы сортировки, а также реализовать метод общественного сравнения (T O1, TO2) этого интерфейса, чтобы реализовать сортировку следующим образом:
import java.util.Comparator;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.TreeMap;public class TreeMapTest { public static void main(String[] args) { Map<String, String> map = new TreeMap<String, String>( new Comparator<String>() { public int compare(String obj1, String obj2) {// Сортировать в приказе return.compareto (obj1); map.put ("b", "cccccc"); map.put ("D", "aaaaa"); map.put ("c", "bbbbb"); map.put ("a", "ddddd"); SET <String> keySet = map.keySet (); Iterator <string> iter = keyset.iterator (); while (iter.hasnext ()) {string key = iter.next (); System.out.println (key + ":" + map.get (key)); }}}Результаты работы следующие:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
3. Сортировка стоимости
Приведенный выше пример сортируется в соответствии с ключевым значением TreeMap, но иногда нам нужно сортировать в соответствии со значением TreeMap. Чтобы сортировать значение, нам нужно использовать метод коллекций Sort (List <t>, Comporator <? Super t> C), который сортирует указанный список в соответствии с порядком, сгенерированным указанным компаратором. Но есть предпосылка, то есть все элементы должны быть в состоянии сравнить на основе предоставленного компаратора, следующим образом:
Импорт java.util.arraylist; import java.util.collections; import java.util.comparator; import java.util.list; import java.util.map; import java.util.map.entry; import java.util.treemap; public class treemaptest {public static void main (string) rabs {ring). TreeMap <String, String> (); map.put ("a", "dddddd"); map.put ("c", "bbbbbb"); map.put ("D", "aaaaa"); map.put ("b", "cccccc"); // здесь преобразовать map.EntrySet () в список списка <map.Entry <string, string >> list = new ArrayList <map.Entry <String, String >> (map.EntrySet ()); // Затем используйте компаратор для реализации Sorting Collections.sort (List, новый компаратор <map.entry <String, String >> () {// Сортировка public int compare (entry <string, string> o1, intry <string> o2) {return o1.getValue (). CompareTo (o2.getValue ());}); for (map.Entry <string, string> mapping: list) {System.out.println (mapping.getKey ()+":"+mapping.getValue ()); }}}Результаты работы следующие:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
Приведенный выше сортировка карты Java с помощью ключа и метода реализации значения - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.