java 一个list<Map<String, Object>>的长度是1109,目标:将这些数据每一百条为一组,组合成一个list<list<Map<String, Object>>>
时间: 2024-09-13 09:16:13 浏览: 54
java代码-使用java解决bean&map工具类的源代码
在 Java 中,如果你有一个 `List<Map<String, Object>>` 的集合,其中元素数量为 1109,你想要按照每一百条一组的方式将其分割成一个新的 `List<List<Map<String, Object>>>`,可以这样做:
首先,你需要创建一个用于存放分组结果的新列表:
```java
List<List<Map<String, Object>>> groupedData = new ArrayList<>();
```
然后,你可以遍历原始列表,并使用一个计数器来跟踪当前组的元素数量。当达到一百条时,将现有组添加到新列表并开始新的组:
```java
int counter = 0;
for (Map<String, Object> map : originalList) {
groupedData.add(Collections.unmodifiableList(Arrays.asList(map))); // 将单个元素转换为不可变列表
counter++;
if (counter % 100 == 0) { // 每增加 100 条,新建一个空列表
groupedData.add(new ArrayList<>());
}
}
```
最后,如果还有剩余的不足一百条的数据,也需要添加到最后一个列表里:
```java
if (counter < 100) {
groupedData.get(groupedData.size() - 1).addAll(originalList.subList(counter, originalList.size()));
}
```
现在,`groupedData` 就包含了每一百条一组的 `List<Map<String, Object>>`。
阅读全文