java 把一个list 按每1000条记录分割成多个list
时间: 2023-09-08 17:16:48 浏览: 183
好的,你可以使用Java中的subList()方法来实现这个需求。以下是一个示例代码:
```java
public static <T> List<List<T>> splitList(List<T> list, int size) {
List<List<T>> subLists = new ArrayList<>();
for (int i = 0; i < list.size(); i += size) {
subLists.add(list.subList(i, Math.min(i + size, list.size())));
}
return subLists;
}
```
使用方法:
```java
List<Integer> myList = new ArrayList<>();
// 添加10000个元素到myList中
for (int i = 1; i <= 10000; i++) {
myList.add(i);
}
List<List<Integer>> subLists = splitList(myList, 1000);
System.out.println(subLists);
```
输出结果:
```java
[[1, 2, ..., 1000], [1001, 1002, ..., 2000], ..., [9001, 9002, ..., 10000]]
```
其中,`myList`是待分割的列表,`1000`是每个子列表的大小。函数将列表按照指定大小分割成多个子列表并返回。注意,subList()方法返回的是原列表的一个视图,也就是说,对子列表所做的修改会反映到原列表上。如果需要对子列表进行修改而不影响原列表,可以使用`new ArrayList<>(list.subList(i, Math.min(i + size, list.size())))`创建一个新的ArrayList对象。
阅读全文