业务: 求折线图的UPH图相关数据,前端动态修改纵轴的峰值,需要后端获取最大值
1)根据集合某个属性(业务以bigdecimal数据为例)进行集合排序,包括升序反序
2)根据集合的某个number数值属性取最大值
实体类:
@Data
public class EqpUPHVO {
@ApiModelProperty(value = "设备名称")
private String eqpName;
@ApiModelProperty(value = "uph值")
private BigDecimal uphData;
}
使用stream流进行测试
@Test
public void test() {
List<EqpUPHVO> eqpUPHVOS = new ArrayList<>();
EqpUPHVO eqpUPHVO = new EqpUPHVO();
eqpUPHVO.setEqpName("ffff");
eqpUPHVO.setUphData(BigDecimal.valueOf(34343));
eqpUPHVOS.add(eqpUPHVO);
eqpUPHVO = new EqpUPHVO();
eqpUPHVO.setEqpName("gdg");
eqpUPHVO.setUphData(BigDecimal.valueOf(23343));
eqpUPHVOS.add(eqpUPHVO);
eqpUPHVO = new EqpUPHVO();
eqpUPHVO.setEqpName("qq");
eqpUPHVO.setUphData(BigDecimal.valueOf(22));
eqpUPHVOS.add(eqpUPHVO);
eqpUPHVO = new EqpUPHVO();
eqpUPHVO.setEqpName("gdererg");
eqpUPHVO.setUphData(BigDecimal.valueOf(343534545));
eqpUPHVOS.add(eqpUPHVO);
eqpUPHVO = new EqpUPHVO();
eqpUPHVO.setEqpName("gdfgg");
eqpUPHVO.setUphData(BigDecimal.valueOf(33));
eqpUPHVOS.add(eqpUPHVO);
System.out.println(eqpUPHVOS);
System.out.println("-----------------------");
// 求最大值
BigDecimal maxUPH = eqpUPHVOS.stream().max(Comparator.comparing(EqpUPHVO::getUphData)).get().getUphData();
System.out.println(maxUPH);
System.out.println("==============");
// 根据uph值进行排序 使用reversed() 实现从大到小排列
List<EqpUPHVO> maxUPHs = eqpUPHVOS.stream().sorted(Comparator.comparing(EqpUPHVO::getUphData).reversed())
.collect(Collectors.toList());
System.out.println(maxUPHs);
System.out.println("==============");
// 根据uph值进行排序 使用sorted() 默认从小到大即升序排列
List<EqpUPHVO> maxUPHss =
eqpUPHVOS.stream().sorted(Comparator.comparing(EqpUPHVO::getUphData)).collect(Collectors.toList());
System.out.println(maxUPHss);
}
结果
[EqpUPHVO(eqpName=ffff, uphData=34343), EqpUPHVO(eqpName=gdg, uphData=23343), EqpUPHVO(eqpName=qq, uphData=22), EqpUPHVO(eqpName=gdererg, uphData=343534545), EqpUPHVO(eqpName=gdfgg, uphData=33)]
-----------------------
343534545
==============
[EqpUPHVO(eqpName=gdererg, uphData=343534545), EqpUPHVO(eqpName=ffff, uphData=34343), EqpUPHVO(eqpName=gdg, uphData=23343), EqpUPHVO(eqpName=gdfgg, uphData=33), EqpUPHVO(eqpName=qq, uphData=22)]
==============
[EqpUPHVO(eqpName=qq, uphData=22), EqpUPHVO(eqpName=gdfgg, uphData=33), EqpUPHVO(eqpName=gdg, uphData=23343), EqpUPHVO(eqpName=ffff, uphData=34343), EqpUPHVO(eqpName=gdererg, uphData=343534545)]