TreeMap按照key排序

TreeMap按照key排序

博客分类:  java
 
Java代码   收藏代码
  1. package test.tool.gui.common;  
  2.   
  3. import java.util.Comparator;  
  4. import java.util.TreeMap;  
  5.   
  6. public class Test {  
  7.       
  8.     public static void main(String[] args) {  
  9.           
  10.         //不指定排序器  
  11.         TreeMap treeMap1 = new TreeMap();  
  12.         treeMap1.put("2""1");  
  13.         treeMap1.put("b""1");  
  14.         treeMap1.put("1""1");  
  15.         treeMap1.put("a""1");  
  16.         System.out.println("treeMap1="+treeMap1);  
  17.   
  18.         //指定排序器  
  19.         TreeMap treeMap2 = new TreeMap(new Comparator(){  
  20.   
  21.             /* 
  22.              * int compare(Object o1, Object o2) 返回一个基本类型的整型, 
  23.              * 返回负数表示:o1 小于o2, 
  24.              * 返回0 表示:o1和o2相等, 
  25.              * 返回正数表示:o1大于o2。 
  26.              */  
  27.             public int compare(String o1, String o2) {  
  28.               
  29.                 //指定排序器按照降序排列  
  30.                 return o2.compareTo(o1);  
  31.             }     
  32.         });  
  33.         treeMap2.put("2""1");  
  34.         treeMap2.put("b""1");  
  35.         treeMap2.put("1""1");  
  36.         treeMap2.put("a""1");  
  37.         System.out.println("treeMap2="+treeMap2);  
  38.     }  
  39. }  

 

执行输出结果:

Java代码   收藏代码
  1. treeMap1={1=12=1, a=1, b=1}  
  2. treeMap2={b=1, a=12=11=1}  

 

小结:

1、TreeMap如不指定排序器,默认将按照key值进行升序排序,如果指定了排序器,则按照指定的排序器进行排序。

2、具体的排序规则,开发人员可以在int compare()方法中进行指定。

你可能感兴趣的:(java,排序,treemap,java,排序,treemap)