将如下代码中staffDataList 拆分成50个子List: List<StaffDataDTO> staffDataList = dimPubEmployeeMapper.findStaffData();
时间: 2024-09-21 20:03:12 浏览: 29
java中将一个List等分成n个list的工具方法(推荐)
5星 · 资源好评率100%
在Spring Boot或类似环境中,如果你有一个`List<StaffDataDTO>`类型的`staffDataList`,你想将其拆分为50个子List,可以创建一个新的ArrayList来存储这些子List,并通过循环来分割原始列表。这里是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.List;
List<StaffDataDTO> staffDataList = dimPubEmployeeMapper.findStaffData(); // 获取原始列表
// 定义最大子列表大小
int sublistSize = 50;
List<List<StaffDataDTO>> subLists = new ArrayList<>(); // 存储子列表
if (staffDataList.size() <= sublistSize) {
// 如果原始列表小于等于50,无需拆分,直接添加到结果
subLists.add(staffDataList);
} else {
int startIndex = 0;
while (startIndex < staffDataList.size()) {
// 分割列表
int endIndex = Math.min(startIndex + sublistSize, staffDataList.size());
List<StaffDataDTO> sublist = staffDataList.subList(startIndex, endIndex);
subLists.add(sublist);
startIndex += sublistSize;
}
}
System.out.println("拆分后的子列表: " + subLists);
```
这段代码首先检查原始列表是否大于50,如果是,它将按照50个元素一组的方式不断从原始列表中提取子列表。如果原始列表长度小于或等于50,则整个列表作为单个子列表添加。
阅读全文