1. Preparación teórica
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 se basa en el comparador proporcionado cuando se crea el mapeo, dependiendo del constructor utilizado.
Los valores de HASHMAP están en orden. Se implementan de acuerdo con el CODEDE 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.
2. Clasificación 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 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, de la siguiente manera:
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 [] map arg <string, string> map = new treemap <string <string> (new String <) {Public INT. obj2) {// clasificar en orden descendente return obj2.compareto (obj1); map.put ("b", "cccccc"); map.put ("d", "aaaaa"); map.put ("c", "bbbbb"); map.put ("a", "ddddd"); Establecer <String> keySet = map.KeySet (); Iterator <String> iter = keySet.iterator (); while (iter.hasnext ()) {string key = iter.next (); System.out.println (clave + ":" + map.get (key)); }}}Los resultados de la operación son los siguientes:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
3. Clasificación de valor
El ejemplo anterior es clasificar de acuerdo con el valor clave de Treemap, pero a veces necesitamos clasificar de acuerdo con el valor de Treemap. Para clasificar el valor, debemos usar el método de colecciones Sort (List <T> List, Comparator <? Super T> C), que SUPSe la lista especificada de acuerdo con el orden generado por el comparador especificado. Pero hay un requisito previo, es decir, todos los elementos deben poder compararse en función del comparador proporcionado, de la siguiente manera:
import java.util.arrayList; import java.util.collections; import java.util.comparator; import java.list.list; import java.util.map; import java.util.map.entry; import java.util.treemap; public class treeMaptest {public static void (String [] Treemap <String, String> (); map.put ("a", "dddddd"); map.put ("c", "bbbbbb"); map.put ("d", "aaaaa"); map.put ("b", "cccccc"); // aquí Converter MAP.EntrySet () para enumerar la lista <map.entry <string, string >> list = new ArrayList <map.entry <string, string >> (map.entryset ()); // luego use un comparador para implementar colecciones de clasificación.sort (lista, nuevo comparador <map.entry <string, string >> () {// clasificar public int compare (Entry <String, String> O1, Entry <String, String> O2) {return o1.getValue (). Comparación (o2.getvalue ());}); for (map.entry <string, string> mapping: list) {system.out.println (mapping.getkey ()+":"+mapping.getValue ()); }}}Los resultados de la operación son los siguientes:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
La clasificación del mapa Java anterior por el método de implementación de clave y valor es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.