开发遇到的问题总结---返回的list顺序乱序

发布时间 2023-11-15 15:50:18作者: 群狼之龙

问题描述:从数据库中查询json并转为list,然后做了一些处理之后返回发现顺序变了

1.json转换为list对象时:这一步是根据json里面的顺序(不会改变顺序)

2.中间将list转为map,然后根据map的keyset获取每个值做一些处理,处理完成增加到返回的list中(这一步会改变顺序,因为map的keyset是无序的,因此不是按照之前list的顺序获取数据)

 

注意:

对象VO有两个属性:String类型的time,BigDecimal类型的value

在将list<VO>转换为map<String,BigDecimal>时需要判断VO的属性是不是为null,为null会转换失败

因为我的time不存在null的情况,因此只需要过滤value为null的情况

List.stream().filter(item->item.getValue()!=null).collect(Collectors.toMap(TimeValueVO<BigDecimal>::getTime, TimeValueVO<BigDecimal>::getValue));