Java中如何对list中数据根据其状态的异常与正常进行排序
时间: 2024-01-21 17:16:25 浏览: 22
可以使用Java 8中的Stream API来对list中的数据进行排序。具体步骤如下:
1. 定义一个Comparator,用于根据状态的异常与正常进行排序。
```
Comparator<Data> comparator = Comparator.comparing(Data::getStatus,
(status1, status2) -> {
if (status1 == Status.NORMAL && status2 == Status.ABNORMAL) {
return -1;
} else if (status1 == Status.ABNORMAL && status2 == Status.NORMAL) {
return 1;
} else {
return 0;
}
});
```
2. 使用Stream API对list进行排序。
```
List<Data> sortedList = dataList.stream().sorted(comparator).collect(Collectors.toList());
```
其中,Data是list中元素的类型,Status是Data中状态的枚举类型。sorted(comparator)方法会根据定义的Comparator对list中的元素进行排序,最后使用collect(Collectors.toList())方法将排序后的元素收集到一个新的list中。