zoukankan      html  css  js  c++  java
  • Map sorted by Key

    why comparator ?

    • comparable : adj

    • comparator : n

    Some class can't be changed , which like Map , Set and their subclass . They are given being unchangeable . Thus , we can't

    public TreeMap implements comparable{
    ...
    }
    

    So , here comparator works .

    // mapCompare is the class with comparator()
    TreeMap<String,Integer> map = new TreeMap<String,Integer>( new mapCompare() ); 
    
    // The configure  <String>  is same as the key of *TreeMap*
    class mapCompare implements Comparator<String > {
    public int compare( String o1, String o2){
       o1.compareTo(o2);
    }
    

    Code

    import java.util.Comparator;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.TreeMap;
    
    public class mapSortedByKey {
    	public static void main(String[] args) {
    		
    		// New one map
    		
    		TreeMap<String, Integer> map = new TreeMap<String, Integer>(new mapCompare());
    		map.put("E", 1);
    		map.put("A", 2);
    		map.put("B", 3);
    		map.put("C", 4);
    		map.put("D", 5);
    		
    		// print 
    		/*for( Map.Entry<String,Integer> one: map.entrySet() ){
    			System.out.println(one.getKey()+":"+one.getValue());
    		}
    		*/
    		
    		Iterator<Map.Entry<String,Integer> > iter = map.entrySet().iterator();
    		while(iter.hasNext()){
    			Map.Entry<String,Integer> one = iter.next();
    			System.out.println(one.getKey() +": "+one.getValue());
    		}
    	}
    }
    
    class mapCompare implements Comparator<String> {
    	public int compare(String o1, String o2) {
    		return o2.compareTo(o1);
    	}
    }
    
    E: 1
    D: 5
    C: 4
    B: 3
    A: 2
    
  • 相关阅读:
    诸暨集训游记
    P2678 跳石头
    P1577 切绳子
    P1328 生活大爆炸版石头剪刀布
    P1067 多项式输出
    分解因数
    【管理篇】团队组织与架构演进方法论
    【状态机】行为状体机和协议状态机
    【数据库】分库分表
    【OLAP】从数仓到Kappa架构
  • 原文地址:https://www.cnblogs.com/cyno/p/4451768.html
Copyright © 2011-2022 走看看