通过某个键将<Long,List <String >>映射到String Lambda的列表

Mr.*_*Mak 0 java lambda java-8

HashMap喜欢Map<Long, List<String>> map = ....

我也有一个关键列表 List<Long> keyList = Arrays.asList(1L, 3L, 10L);

我想List<String>通过这些提取keyList'sList<String>使用lambda表达式生成一个 .

Boh*_*ian 5

试试这个:

List<String> values = keyList.stream()    // for each key
    .map(map::get)                        // convert keys to their values
    .flatMap(List::stream)                // stream the lists as one stream
    .collect(Collectors.toList());        // as a single list of String
Run Code Online (Sandbox Code Playgroud)