List<Object> 转 List<Map<String,Object>>
时间: 2024-02-03 15:10:14 浏览: 113
List<Object> 转 List<Map<String,Object>> 可以通过遍历 List<Object> 的每个元素,然后将每个元素转换为 Map<String,Object> 的形式,最后将转换后的 Map 添加到新的 List<Map<String,Object>> 中。
下面是一个示例代码:
```java
List<Object> objectList = new ArrayList<>();
// 假设 objectList 中已经有了一些对象
List<Map<String,Object>> mapList = new ArrayList<>();
for(Object obj : objectList) {
// 创建一个新的 Map
Map<String,Object> map = new HashMap<>();
// 将对象的属性转换为键值对,添加到 Map 中
// 这里假设对象有两个属性 name 和 age
map.put("name", obj.getName());
map.put("age", obj.getAge());
// 将转换后的 Map 添加到新的 List 中
mapList.add(map);
}
```
这样就可以将 List<Object> 转换为 List<Map<String,Object>>。请注意,上述示例中的 getName() 和 getAge() 是假设对象有这两个属性的方法,你需要根据实际情况修改代码。
相关问题
List<Map<String,Object>> 转成 List<List<String>>
可以通过遍历原始列表,并将每个 Map 的值转换为 String 类型,然后将结果添加到新的列表中。下面是一个示例代码:
```java
List<Map<String, Object>> originalList = new ArrayList<>();
// 假设原始列表中有数据
List<List<String>> newList = new ArrayList<>();
for (Map<String, Object> map : originalList) {
List<String> stringList = new ArrayList<>();
for (Object value : map.values()) {
stringList.add(String.valueOf(value));
}
newList.add(stringList);
}
// 现在 newList 是 List<List<String>> 类型的列表,其中每个元素都是字符串类型的值
```
请注意,在转换过程中,我们使用 `String.valueOf()` 方法将 Object 类型的值转换为 String 类型。
stream流 List<Map<String, Object>>转List<Map<String,List<String>>>
在Java中,如果你有一个`List<Map<String, Object>>`类型的集合,你可以通过Stream API将其转换为`List<Map<String, List<String>>>`,前提是你能确定`Object`类型确实是字符串,并且已经封装成了列表形式。这通常涉及到先过滤、然后收集的过程。下面是一个示例:
```java
import java.util.*;
import java.util.stream.*;
List<Map<String, Object>> originalMaps = ...; // 假设这是你的原始数据
List<Map<String, List<String>>> convertedMaps = originalMaps.stream()
.map(map -> map.entrySet().stream() // 遍历每个Map的entrySet
.flatMap(entry -> entry.getValue().stream() // 如果value是Object[] 或者 Stream流,则进一步处理
.filter(obj -> obj instanceof String) // 筛选出String类型
.map(String.class::cast) // 转换为String
.collect(Collectors.toList())) // 收集到一个新的List<String>
.collect(Collectors.toList()); // 将所有entry对应的String列表收集到新的Map中
阅读全文