有实体类CxCadreSituationDTO,其中有属性orgType,现在有一个CxCadreSituationDTO对象列表,将对象列表按照orgType顺序为{2,3,1}的数序排序
时间: 2023-12-10 12:37:16 浏览: 58
根据对象属性将对象排序
可以使用Java8的Stream API来实现按照orgType排序的功能,代码如下:
```
List<CxCadreSituationDTO> dtoList = ... // 初始化CxCadreSituationDTO对象列表
List<Integer> orderList = Arrays.asList(2, 3, 1); // 定义orgType顺序列表
List<CxCadreSituationDTO> sortedList = dtoList.stream()
.sorted(Comparator.comparingInt(dto -> orderList.indexOf(dto.getOrgType())))
.collect(Collectors.toList());
// sortedList即为按照orgType顺序排序后的CxCadreSituationDTO对象列表
```
上述代码中,首先使用Stream的sorted方法,传入一个Comparator对象作为排序规则。这里使用Java8的Lambda表达式,将Comparator.comparingInt方法的参数改为一个Lambda表达式,用于返回CxCadreSituationDTO对象的orgType在orderList中的位置,然后通过indexOf方法获取该位置,从而实现按照orgType顺序排序的功能。最后使用Stream的collect方法转换为List集合即可。
阅读全文