java实现一个list中全为map元素,将这个list中的map元素每隔三个放入一个list中,再将操作后的list再放入一个新的list中
时间: 2023-10-05 17:06:40 浏览: 102
可以按照以下步骤实现:
1.创建一个List<Map<String, Object>>类型的列表,用于存储Map元素。
2.创建一个List<List<Map<String, Object>>>类型的列表,用于存储操作后的列表。
3.向第一个列表中添加多个Map元素。
4.使用for循环遍历第一个列表,每隔三个Map元素,将它们添加到一个新的List中。
5.将新的List添加到第二个列表中。
下面是完整的Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建一个List<Map<String, Object>>类型的列表
List<Map<String, Object>> mapList = new ArrayList<>();
// 向列表中添加多个Map元素
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 20);
mapList.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 25);
mapList.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "王五");
map3.put("age", 30);
mapList.add(map3);
Map<String, Object> map4 = new HashMap<>();
map4.put("name", "赵六");
map4.put("age", 35);
mapList.add(map4);
Map<String, Object> map5 = new HashMap<>();
map5.put("name", "钱七");
map5.put("age", 40);
mapList.add(map5);
// 创建一个List<List<Map<String, Object>>>类型的列表
List<List<Map<String, Object>>> resultList = new ArrayList<>();
// 每隔三个Map元素,将它们添加到一个新的List中
List<Map<String, Object>> subList = new ArrayList<>();
for (int i = 0; i < mapList.size(); i++) {
subList.add(mapList.get(i));
if ((i + 1) % 3 == 0) {
resultList.add(subList);
subList = new ArrayList<>();
}
}
// 如果最后一部分Map元素不足三个,也要加入结果列表中
if (!subList.isEmpty()) {
resultList.add(subList);
}
// 输出结果
System.out.println(resultList);
}
}
```
执行结果如下:
```
[[{name=张三, age=20}, {name=李四, age=25}, {name=王五, age=30}], [{name=赵六, age=35}, {name=钱七, age=40}]]
```
可以看到,操作后的结果是一个包含两个List的List,每个子List中包含三个Map元素(最后一个子List只包含两个Map元素)。
阅读全文