![](/img/trans.png)
[英]How to convert List<Map<String,Object>> to Map<String, String>?
[英]How to Convert List<Map<String, Object>> to List<Map<String, String>>
我正在以List<Map<String, Object>>
格式从数据库查询中检索结果,您能否建议如何将其转换为List<Map<String, String>>
。
迭代列表,依次转换每个映射:
list.stream()
.map(map ->
map.entrySet().stream()
.collect(
Collectors.toMap(
Entry::getKey, e -> e.getValue().toString())))
.collect(Collectors.toList())
对列表项及其 map 条目进行简单的 for-each 迭代即可达到目的:
List<Map<String, Object>> list = ...
List<Map<String, String>> newList = new ArrayList<>();
for (Map<String, Object> map: list) {
Map<String, String> newMap = new HashMap<>();
for (Entry<String, Object> entry: map.entrySet()) {
newMap.put(entry.getKey(), entry.getValue().toString()); // mapping happens here
}
newList.add(newMap);
}
在我看来,这是最佳解决方案,也是最易读的解决方案。 java-stream不太适合处理字典(尽管你总是从中得到一个集合)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.