gpt4 book ai didi

java - 使用流从 Map 对象列表中仅获取键

转载 作者:行者123 更新时间:2023-12-02 09:39:23 25 4
gpt4 key购买 nike

我正在尝试使用 java 8 中的流从 Map 对象列表中仅获取键值。

当我流式传输 map 对象列表时,我得到 Stream<List<String>>而不是List<String> .

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class StreamTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World");
Map<String, String> a = new HashMap<String, String>();
a.put("1", "Bharathi");
a.put("2", "Test");
a.put("3", "Hello");
List<Map<String, String>> b = new ArrayList<>();
b.add(a);
System.out.println("Hello World" + b);

/*
* b.stream().map(c-> c.entrySet().stream().collect( Collectors.toMap(entry ->
* entry.getKey(), entry -> entry.getValue())));
*/

Stream<List<String>> map2 = b.stream()
.map(c -> c.entrySet().stream().map(map -> map.getKey()).collect(Collectors.toList()));
//List<List<String>> collect = map2.map(v -> v).collect(Collectors.toList());

}

}

如何从Map对象的List中获取key对象?

最佳答案

您可以在每个 MapkeySet 上使用 flatMap:

List<String> output = lst.stream()
.flatMap(mp -> mp.keySet().stream())
.collect(Collectors.toList());

关于java - 使用流从 Map 对象列表中仅获取键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59835334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com