小工具小方法收集 Guava

保留两位小数

1
2
3
4
5
6
7
//方式一
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
//方式二
System.out.println(String.format("%.2f", f));
//方式三
new BigDecimal(f).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

Guava

比较两个List<Object>的差异

思路:

  • 先将list转为Map<Integer,Object>

    1
    2
    3
    4
    for (int i = 0; i < length; i++) {
    map.put(i, list.get(i));
    map2.put(i, list2.get(i));
    }
  • 使用guava的Maps.difference进行比对
1
MapDifference<Integer, Object> difference = Maps.difference(map, map2);
  • 遍历difference
1
2
3
4
5
for (Integer index : difference.entriesDiffering().keySet()) {
Object obj1=map.get(index);
Object obj2=map2.get(index);
// XXOOXXXX....
}