JAVA中把list按照500大小分成多个list
时间: 2024-11-12 11:33:32 浏览: 26
在Java中,如果你需要将一个List按照一定大小分割成多个List,你可以使用`java.util.ArrayList`的分块功能,配合`Collections.spliterator()`。这里有一个简单的示例:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Spliterators;
import java.util.stream.Stream;
public class ListSplitter {
public static void main(String[] args) {
List<String> largeList = new ArrayList<>(Arrays.asList("A", "B", "C", ...)); // 假设这是你要分割的大列表
int chunkSize = 500; // 每个子列表的最大大小
int remainingElements = largeList.size(); // 初始化剩余元素数
List<List<String>> subLists = new ArrayList<>();
for (int i = 0; i < remainingElements; i += chunkSize) {
if (i + chunkSize > remainingElements) { // 如果已到末尾,处理剩余部分
subLists.add(largeList.subList(i, remainingElements));
} else {
subLists.add(new ArrayList<>(largeList.subList(i, i + chunkSize)));
}
}
// 现在subLists包含了按指定大小分隔的子列表
System.out.println(subLists);
// 或者使用Stream API更简洁
subLists = largeList.stream()
.limit(chunkSize)
.collect(Collectors.groupingBy(
(e, a) -> a.indexOf(e),
Collectors.toList()));
}
}
```
在这个例子中,我们首先创建了一个大列表,然后每次取chunkSize个元素放入一个新的子列表,直到所有元素都被添加完。如果最后一个子列表不足chunkSize个元素,则直接添加剩余的所有元素。
阅读全文