使用java8新特性实现:list中存储巡更点实体数据,将list按照两个条件进行升序排序,第一条件按照巡更点顺序升序排序,第二条件按照巡更点名称升序排序
时间: 2024-11-25 11:12:30 浏览: 5
在Java 8中,你可以使用`Stream API`和`Comparator`来实现这个功能。首先,假设你有一个`PatrolPoint`实体类,包含顺序(order)和名称(name)字段。这里是一个示例:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
class PatrolPoint {
private int order;
private String name;
// getters and setters
@Override
public String toString() {
return "PatrolPoint{" +
"order=" + order +
", name='" + name + '\'' +
'}';
}
}
List<PatrolPoint> patrolPoints = ... // 假设这是你的巡更点列表
// 定义比较器,首先按顺序排序,其次按名称排序
Comparator<PatrolPoint> comparator = Comparator.comparingInt(PatrolPoint::getOrder)
.thenComparing(PatrolPoint::getName);
// 按照定义的比较器对列表进行排序
List<PatrolPoint> sortedPatrolPoints = patrolPoints.stream()
.sorted(comparator)
.collect(Collectors.toList());
System.out.println(sortedPatrolPoints); // 打印排序后的巡更点列表
阅读全文