MAP es una interfaz de colección para pares de valor clave. Sus clases de implementación incluyen principalmente: Hashmap, Treemap, Hashtable y Linkedhashmap.
• TreeMap: una implementación navegable basada en el árbol rojo-negro, que se clasifica en el orden natural de sus claves o en el comparador proporcionado al crear el mapa, dependiendo del constructor utilizado.
• Los valores de hashmap están en orden, se implementan de acuerdo con el código hash de la clave. ¿Cómo implementamos la clasificación para este hashmap desordenado? Consulte el valor de valor de Treemap.
MAP.Entry Devuelve la vista de colecciones.
Ordenar por clave
Treemap está en orden ascendente por defecto. Si necesitamos cambiar el método de clasificación, necesitamos usar un comparador: Comparador. El comparador puede ordenar la interfaz de comparación para objetos o matrices de recolección, e implementar el método de comparación pública (T O1, TO2) de esta interfaz para realizar la clasificación.
Nota: Todos los siguientes códigos se han probado en JDK1.6
Treemap se clasifica en orden ascendente de forma predeterminada
public static void keyUpSort () {// Por defecto, Treemap se ordene en orden ascendente de keyMap <String, Integer> map = new Treemap <String, Integer> (); map.put ("acb1", 5); map.put ("bac1", 3); map.put ("bca1", 20); map.put ("Cab1", 80); map.put (",", cebra, cebra, cebra, ("cebra, cebra, (", ",", (", (", (",", ", (", ", (", (",", ", map.put (". 1); map.put ("ABC1", 10); map.put ("ABC2", 12); // Por defecto, Treemap clasifica las claves en orden ascendente System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -----------------------------------------------------------------------------------------------Modifique el método de clasificación de Treemap y ordene descendiendo la tecla
public static void keydownSort () {// treemap, ordenado por orden descendente // clasificar en el comparador de orden descendente <string> keyComparator = new Comparator <String> () {@OverridePublic Int Compare (String O1, String O2) {// TODO Método Generado Auto Generado 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 ("ABC2",,,,,,,, 12); System.out.println ("------------ Treemap 按 Key 降序排序 --------------------"); para (MAP.Entry <String, Integer> Entry: MAP.Entryset ()) {System.out.Println (Entry.getKey () + ":" + Entry.getValue ());}}Ordenar por valor
Lo siguiente solo demuestra la clasificación de Treemap por orden ascendente, y lo mismo se aplica al hashmap.
Modificar el método de clasificación de Treemap y ordenarlo en orden ascendente del valor
Nota: En circunstancias normales, los mapas no se pueden ordenar utilizando el método Collections.sort (), pero los mapas se pueden convertir en la lista antes de clasificar.
public static void valueUpSort () {// por defecto, Treemap se ordena en orden ascendente por clave map <string, integer> map = new Treemap <String, Integer> (); map.put ("acb1", 5); map.put ("bac1", 3); map.put ("bca1", 20); map.put ("Cab1", 80); map.put ("cita1," cebra, cebra, ("cebra, cebra, (" cita1 "," cita1 ",", ",", ",", ",", ",", ",", ",", ", map.put (". 1); map.put ("abc1", 10); map.put ("abc2", 12); // comparador de comparación ascendente <map.entry <string, integer >> valueComparator = new comparador <map.entry <string, entero >> () {@overridepublic intencar (entró <trad, integer> o1, entrada <string, integer> o2) Método generado automático stubreturn o1.getValue ()-o2.getValue ();}}; // Convertir el mapa en lista para clasificar la lista <map.entry <string, entero >> list = new ArrayList <map.entry <String, Integer> (map.entryset ()); // clasificar la colección.sort (list, valuecomator); en orden ascendente System.out.println ("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------- Resultados de las pruebas
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Lo anterior es el método de implementación de la clasificación del mapa Java de acuerdo con el valor introducido por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!