比较BigDecimal的值大小,根据BigDecimal值取不同的key,
代码如下:
package com.user.controller;
import java.math.BigDecimal;
import java.util.*;
/**
* @ClassName Test
* @Description DOTO 比较BigDecimal的值大小,根据BigDecimal值取不同的key
* @Author mischen
* @Date 2021/11/14 0014 17:24
* @Version 1.0
**/
public class Test {
public static void main(String[] args) {
Map<String,BigDecimal> stu = new TreeMap<>();
stu.put("应付账款",new BigDecimal(621));
stu.put("应收账款",new BigDecimal(621));
stu.put("其他应付款",new BigDecimal(100));
stu.put("短期借款",new BigDecimal(546));
stu.put("长期借款",new BigDecimal(78.39));
List<Map.Entry<String,BigDecimal>> entrys=new ArrayList<>(stu.entrySet());
Collections.sort(entrys, new MyComparator());
//3:遍历排好序的Entry-list,可得到按顺序输出的结果
for (Map.Entry<String,BigDecimal> entry : entrys) {
System.out.println(entry.getKey() + "," + entry.getValue());
}
String first = entrys.get(0).getKey();
String second = entrys.get(1).getKey();
String Third = entrys.get(2).getKey();
System.out.println("第一个:"+first);
System.out.println("第二个:"+second);
System.out.println("第三个:"+Third);
}
//按住key排序
static class MyComparator implements Comparator<Map.Entry> {
public int compare(Map.Entry o1, Map.Entry o2) {
return ((BigDecimal) o2.getValue()).compareTo((BigDecimal) o1.getValue());
}
}
}
程序运行结果: