O MAP é uma interface de coleção para pares de valor-chave. Suas classes de implementação incluem principalmente: Hashmap, Treemap, Hashtable e LinkedHashmap.
• TreeMap: uma implementação do NavigabableMap com base na árvore vermelha-preta, que é classificada na ordem natural de suas chaves ou no comparador fornecido ao criar o mapa, dependendo do construtor usado.
• Os valores de hashmap estão em ordem, eles são implementados de acordo com o código de hash da chave. Como implementamos a classificação para este hashmap não ordenado? Consulte o tipo de valor de TreeMap.
Map.Entry Retorna a visualização de coleções.
Classificar por chave
Treemap está em ordem crescente por padrão. Se precisarmos alterar o método de classificação, precisamos usar um comparador: comparador. O comparador pode classificar a interface do comparador para objetos ou matrizes de coleta e implementar o método de comparação pública (T O1, to2) dessa interface para realizar a classificação.
Nota: Todos os códigos a seguir foram testados em JDK1.6
Treemap é classificado em ordem crescente por padrão
public static void keyUpSort () {// Por padrão, o TreeMap é classificado em ordem crescente de keymap <string, inteiro> map = new Treemap <String, Integer> (); Map.put ("ACB1", 5); map.put ("Bac1", 3); map.put ("BCA1", 20); 1); map.put ("abc1", 10); map.put ("abc2", 12); // por padrão, o TreeMap classifica as chaves em ordem crescente System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Modifique o método de classificação de Treemap e classificar a chave descendente
public static void keyDownsort () {// TreeMap, classificado pela ordem descendente // classificar no comparador de pedidos descendentes <string> keyComParator = new Comparator <string> () {@OverridePublic Int compare (string o1, string o2) {//do-Gerated Method; 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 ("CbA1", 1); 12); System.out.println ("-------------- TreeMap 按 按 降序排序 --------------------"); para (map.entry <string, número inteiro> entrada: map.entrySet ()) {System.out.println (Entry.getKey () + ":" + Entry.getValue ());Classificar por valor
A seguir, demonstra apenas a classificação por Treemap por ordem ascendente, e o mesmo se aplica ao hashmap.
Modifique o método de classificação de Treemap e classificá -lo em ordem crescente de valor
Nota: Em circunstâncias normais, os mapas não podem ser classificados usando o método Coleções.sort (), mas os mapas podem ser convertidos em lista antes de classificar.
public static void valueUpSort () {// Por padrão, o TREEMAP é classificado em ordem ascendente por mapa -chave <string, inteiro> map = new Treemap <string, inteiro> (); map.put ("acb1", 5); map.put ("Bac1", 3); 1); map.put ("abc1", 10); map.put ("abc2", 12); // comparador ascendente do comparador <pap.entry <string, inteiro >> valuecomparator = new Comparator <pap.entry <strings, integger >> () {@OverridePublic Int Compare (entrada <stride,, Integer> Método gerado automaticamente Stubreturn o1.getValue ()-o2.GetValue ();}}; // Converta o mapa para listar para a lista de classificação <pap.entry <string, integger >> list = new ArrayList <pap.Entry <String, Integer >> (map.EntRySet (); // sort coletors.Sort (lista de listas> >> ordem ascendente System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Resultados do teste
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
O exposto acima é o método de implementação da classificação do mapa Java, de acordo com o valor introduzido pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!