Java 如何将列表转换为列表

Java 如何将列表转换为列表,java,java-stream,Java,Java Stream,我正在以列表格式从DB查询中检索结果,您能否建议如何将其转换为列表。迭代列表,依次转换每个映射: list.stream() .map(map -> map.entrySet().stream() .collect( Collectors.toMap( Entry::getKey, e -> e.getValue().toString()))) .colle

我正在以列表格式从DB查询中检索结果,您能否建议如何将其转换为列表。

迭代列表,依次转换每个映射:

list.stream()
    .map(map ->
        map.entrySet().stream()
            .collect(
                Collectors.toMap(
                    Entry::getKey, e -> e.getValue().toString())))
    .collect(Collectors.toList())

迭代列表,依次变换每个贴图:

list.stream()
    .map(map ->
        map.entrySet().stream()
            .collect(
                Collectors.toMap(
                    Entry::getKey, e -> e.getValue().toString())))
    .collect(Collectors.toList())

对列表项及其映射项的每次迭代使用一个简单的

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);
}

在我看来,这是最佳的解决方案,也是最具可读性的解决方案。虽然您总是从字典中获得一个集合,但它不太适合使用字典。

对于列表项及其映射项的每次迭代,使用一个简单的方法可以实现以下目的:

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);
}

在我看来,这是最佳的解决方案,也是最具可读性的解决方案。虽然您总是可以从字典中获得收藏,但它不太适合使用字典。

太棒了,您的解决方案工作得非常完美-您拯救了我的一天。欢迎使用。只要你是新来的,让我建议你把最好的答案标记为你所选择的被接受的绿色标语,并最终选择这个动作是可选的,就像说谢谢,它有帮助。接受度表明这个问题已经为未来的收入者解决了。@Nikolas你说java流不太适合使用字典是什么意思?旁白:map.forEachk,v->newMap.putk,v.toString;这是一种更简洁的方法来完成最内部的循环:必须处理地图条目总是让人感觉恶心。太棒了,你的解决方案完美无瑕——你救了我一天。欢迎。只要你是新来的,让我建议你把最好的答案标记为你所选择的被接受的绿色标语,并最终选择这个动作是可选的,就像说谢谢,它有帮助。接受度表明这个问题已经为未来的收入者解决了。@Nikolas你说java流不太适合使用字典是什么意思?旁白:map.forEachk,v->newMap.putk,v.toString;是一种更简洁的方法来完成最内部的循环:必须处理地图条目总是让人感觉恶心。非常感谢,你救了我一天。非常感谢,你救了我一天。