Map<String,Object>转换为List<Object>
时间: 2023-10-14 11:14:33 浏览: 47
我们可以通过Java 8的Stream API来实现将Map<String,Object>转换为List<Object>。具体实现方式如下:
```
Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", 2);
map.put("key3", true);
List<Object> list = map.entrySet().stream()
.map(Map.Entry::getValue)
.collect(Collectors.toList());
```
这里我们先创建了一个Map<String,Object>对象,并往里面添加了三个键值对。然后通过entrySet()方法获取Map中的所有键值对,并使用Stream API中的map()方法将每个键值对的值提取出来,最后使用collect()方法将所有值收集到一个List<Object>中。
相关问题
List<Map<String, Object>>转List<String>
你可以使用Java 8的流(Stream)来将List<Map<String, Object>>转换为List<String>。可以按照以下步骤操作:
1. 使用流的`map()`方法,将每个Map对象转换为对应的String对象。
2. 在`map()`方法中,使用`toString()`方法将Map对象转换为String对象。
3. 使用`collect()`方法将转换后的String对象收集到一个新的List对象中。
下面是一个示例代码:
```java
List<Map<String, Object>> mapList = new ArrayList<>();
// 假设已经有了一个List<Map<String, Object>>对象
List<String> stringList = mapList.stream()
.map(map -> map.toString())
.collect(Collectors.toList());
```
这样,你就可以将List<Map<String, Object>>转换为List<String>了。
List<Map<String, Object>> 转换为 List<Entity> 其中String是属性值
要将 `List<Map<String, Object>>` 转换为 `List<Entity>`,首先需要创建一个 `Entity` 类,然后遍历 `List<Map<String, Object>>`,将每个 `Map` 中的键值对映射到 `Entity` 对象的属性上。以下是一个示例:
1. 创建 `Entity` 类:
```java
public class Entity {
private String property;
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
}
```
2. 将 `List<Map<String, Object>>` 转换为 `List<Entity>`:
```java
public static List<Entity> convertListMapToEntity(List<Map<String, Object>> listMap) {
List<Entity> listEntity = new ArrayList<>();
for (Map<String, Object> map : listMap) {
Entity entity = new Entity();
entity.setProperty(map.get("property").toString());
listEntity.add(entity);
}
return listEntity;
}
```
使用这个方法,你可以将 `List<Map<String, Object>>` 转换为 `List<Entity>`。注意,这里假设 `Map` 中有一个名为 "property" 的键。如果实际情况不同,请根据实际情况修改代码。