请用java语言列举多种实现方法:将List<对象>转换为List<Map<String, Object>>
时间: 2023-10-14 19:15:53 浏览: 91
1. 使用循环遍历List中的每个对象,将每个对象的属性值放入Map中,再将Map放入List中。
```java
List<Map<String, Object>> result = new ArrayList<>();
for (Object obj : list) {
Map<String, Object> map = new HashMap<>();
map.put("属性1", obj.get属性1());
map.put("属性2", obj.get属性2());
//...
result.add(map);
}
```
2. 使用Java8的Stream API,将List中的每个对象转换为Map,再将Map放入List中。
```java
List<Map<String, Object>> result = list.stream()
.map(obj -> {
Map<String, Object> map = new HashMap<>();
map.put("属性1", obj.get属性1());
map.put("属性2", obj.get属性2());
//...
return map;
})
.collect(Collectors.toList());
```
3. 使用BeanUtils工具类,将List中的每个对象转换为Map,再将Map放入List中。
```java
List<Map<String, Object>> result = new ArrayList<>();
for (Object obj : list) {
Map<String, Object> map = new HashMap<>();
try {
BeanUtils.describe(obj).forEach((key, value) -> {
if (!"class".equals(key)) {
map.put(key, value);
}
});
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
e.printStackTrace();
}
result.add(map);
}
```
4. 使用Jackson库,将List中的每个对象转换为Json字符串,再将Json字符串转换为Map,最后将Map放入List中。
```java
List<Map<String, Object>> result = new ArrayList<>();
ObjectMapper objectMapper = new ObjectMapper();
for (Object obj : list) {
try {
String json = objectMapper.writeValueAsString(obj);
Map<String, Object> map = objectMapper.readValue(json, new TypeReference<Map<String, Object>>() {});
result.add(map);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
```
阅读全文