对HashMap中的值进行排序

public static void main(String[] args) {

    HashMap<String, Double> map = new HashMap<String, Double>();
    ValueComparator bvc = new ValueComparator(map);
    TreeMap<String, Double> sorted_map = new TreeMap<String, Double>(bvc);

    map.put("A", 98.5);
    map.put("B", 85.0);
    map.put("C", 67.4);
    map.put("D", 67.3);

    System.out.println("unsorted map: " + map);

    sorted_map.putAll(map);

    System.out.println("results: " + sorted_map);
}

}

class ValueComparator implements Comparator {

Map<String, Double> base;

public ValueComparator(Map<String, Double> base) {
    this.base = base;
}

// Note: this comparator imposes orderings that are inconsistent with equals.
public int compare(String a, String b) {
    if (base.get(a) >= base.get(b)) {
        return -1;
    } else {
        return 1;
    } // returning 0 would merge keys
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值