兰舟千帆
2022-02-14 18:21
采纳率: 86.7%
浏览 43
已结题

一个关于比较器重写的问题,java



package java_practice;

import java.util.Collection;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeMap;

public class TreeMapDemo {
    public static TreeMap<String,Integer> tm;

    public static void main(String[] args) {
        //Comparator comparator;
        tm = new TreeMap(new TreeMapCompare());
        tm.put("lqx",12);
        tm.put("fqy",16);
        tm.put("znk",10);
        tm.put("jgdabc",20);
    }



    public static class TreeMapCompare implements   Comparator<String>{

        @Override
        public int compare(String key1, String key2) {
            Integer v1 = tm.get(key1);
            Integer v2 = tm.get(key2);
            return v1.compareTo(v2 )==0?
                    key1.compareTo(key2)    //如果value相等则比较key
                    :
                    v1.compareTo(v2 ); //如果value不等则按照value比较


        }
    }

}

img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题