java中List<实体类>转成List<Map<String, Object>>
时间: 2024-10-23 20:06:38 浏览: 49
在Java中,如果你有一个`List<实体类>`,想要将其转换为`List<Map<String, Object>>`,通常是为了适应那些需要键值对映射的数据结构。这可以通过创建一个实体类到Map的映射函数来完成。例如,假设你的实体类有对应的属性名作为String键:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class 主体 {
private String key1;
private String value1;
// 其他字段...
// ... getters and setters
public Map<String, Object> toMap() {
return Map.of("key1", this.key1, "value1", this.value1); // 使用Java 8及以上版本的Map静态工厂
// 或者在早期版本中:
// return new HashMap<String, Object>() {{
// put("key1", this.key1);
// put("value1", this.value1);
// }};
}
}
List<实体类> entityList = ...; // 假设已经填充了数据
List<Map<String, Object>> mapList = entityList.stream()
.map(实体类::toMap)
.collect(Collectors.toList());
```
这里,我们使用了Java 8的Stream API将每个实体类实例转换为其属性组成的Map,然后收集到一个新的List中。
阅读全文