public class HandleBusinessTO { private Long id; private Date time; } List<HandleBusinessTO> 用id分组并按照time排序
时间: 2024-04-13 22:30:15 浏览: 61
您可以使用Java 8的Stream API来实现对List<HandleBusinessTO>对象列表按照id分组并按照time排序的操作。下面是一个示例代码:
```java
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<HandleBusinessTO> handleBusinessList = ...; // 假设这里是您的HandleBusinessTO对象列表
// 使用Stream API对列表按照id分组并按照time排序
Map<Long, List<HandleBusinessTO>> groupedMap = handleBusinessList.stream()
.sorted(Comparator.comparing(HandleBusinessTO::getTime))
.collect(Collectors.groupingBy(HandleBusinessTO::getId));
// 打印结果
groupedMap.forEach((id, list) -> {
System.out.println("Group ID: " + id);
list.forEach(System.out::println);
System.out.println();
});
}
}
```
请将示例代码中的`...`替换为您实际的HandleBusinessTO对象列表。
上述代码首先使用`stream()`方法将List转换为Stream,然后使用`sorted()`方法根据HandleBusinessTO对象的time属性进行排序。接下来,使用`groupingBy()`方法根据HandleBusinessTO对象的id属性进行分组。最后,将分组结果打印出来。
注意:示例代码中的HandleBusinessTO类需要提供相应的getter方法以便在Stream操作中使用。
阅读全文