java 一个list<Map<String, Object>>的长度是1109,将这个list每一百条为一组分开,并组合为一个新的list
时间: 2024-09-13 17:16:03 浏览: 38
在Java中,你可以通过遍历原始的`List<Map<String, Object>>`并分组来实现这个需求。这里我们可以使用`Stream` API 和 `IntStream` 来简化操作。假设你想创建的新列表也存储Map的集合:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
List<List<Map<String, Object>>> groupedList = originalList.stream()
.limit(100) // 取出前100条数据
.collect(Collectors.groupingBy((i, map) -> i / 100)) // 每100条一组
.values(); // 获取每个组
// 如果原始List不足100条,最后一个group可能包含剩余的数据
if (originalList.size() % 100 != 0) {
List<Map<String, Object>> lastGroup = originalList.subList(originalList.size() - 100, originalList.size());
groupedList.add(lastGroup);
}
```
这个代码首先限制流到每100条,然后使用`Collectors.groupingBy()`收集相同的索引值,也就是每组。最后,我们得到的结果是新列表,其中每个元素都是原列表的一个子集。
阅读全文