这个不知道是什么问题。求解。
自己定义了一个比较器,是TreeMap的。自己想要先通过值进行比较,如果值一样,就通过键进行比较。

java里面有关比较器的一个小问题。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 金山老师 2022-02-14 16:22关注
是这个意思不 ??
package org.jshand.itextpdf; import java.util.Comparator; import java.util.TreeMap; /** * 项目:commons * 创建时间: 2022-02-14 16:12 * 作者 :金山 * 描述 : */ public class TreeMapCompareDemo { /** * 全局map,便于比较器中使用 */ 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); } 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比较 } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录