java list<object>转list<map>
时间: 2023-07-19 09:08:33 浏览: 236
可以通过遍历 List<Object>,将每个 Object 转换为 Map<String, Object>,然后将其添加到 List<Map<String, Object>> 中来实现 List<Object> 转换为 List<Map<String, Object>>。具体实现可以参考以下代码:
```
List<Object> objList = new ArrayList<>();
// 假设 objList 中的元素都是 Map 类型的对象
List<Map<String, Object>> mapList = new ArrayList<>();
for (Object obj : objList) {
if (obj instanceof Map) {
mapList.add((Map<String, Object>) obj);
}
}
```
这段代码中,首先创建了一个 List<Object> 对象 objList,并假设它中的元素都是 Map 类型的对象。然后创建了一个空的 List<Map<String, Object>> 对象 mapList。接着使用 for 循环遍历 objList 中的每个元素,判断它是否为 Map 类型的对象,如果是,则将其强制转换为 Map<String, Object> 类型并添加到 mapList 中。最终得到的 mapList 就是 List<Object> 转换后的 List<Map<String, Object>>。
相关问题
JAVA实现List<Object>转成List<Map>
可以使用Java 8的Stream API和Lambda表达式来实现List<Object>转成List<Map>:
```
List<Object> objectList = ...; //原始List<Object>
List<Map<String, Object>> mapList = objectList.stream()
.map(obj -> {
Map<String, Object> map = new HashMap<>();
//这里假设Object是一个自定义的Java Bean,可以使用反射获取属性名和属性值
map.put("属性名1", obj.get属性名1());
map.put("属性名2", obj.get属性名2());
//...
return map;
})
.collect(Collectors.toList());
```
上述代码将原始List<Object>中的每个对象映射为一个Map<String, Object>,并将所有Map放入一个新的List中返回。其中,map.put()方法可以根据具体需要设置属性名和属性值。
JAVA实现List<Object>转成List<Map>方法
可以使用Java 8的Stream API来实现List<Object>转成List<Map>的方法。
假设List<Object>的元素类型是MyObject,其中包含两个字段name和age,我们需要将其转成List<Map>,其中每个Map对应一个MyObject对象,key为name,value为age。
代码如下:
```java
List<Object> list = new ArrayList<>();
list.add(new MyObject("John", 25));
list.add(new MyObject("Mary", 30));
List<Map<String, Object>> result = list.stream()
.map(obj -> {
MyObject myObj = (MyObject) obj;
Map<String, Object> map = new HashMap<>();
map.put("name", myObj.getName());
map.put("age", myObj.getAge());
return map;
})
.collect(Collectors.toList());
```
其中,map函数将一个MyObject对象转成一个Map对象,collect函数将所有的Map对象收集到一个List中。
需要注意的是,如果List<Object>中包含的元素类型不是MyObject,需要根据实际情况修改map函数中的转换逻辑。
阅读全文