首页 > 解决方案 > 如何在 Java 8 中获取集合中嵌套元素的列表?

问题描述

我有一个对象,如下图所示。我想从中生成一个列表,其中仅将每个嵌套列表的值存储在第一个索引上。像{domain1.com, domain2.com}输出一样的东西。

我想使用 Java 8 lambda 表达式来做到这一点。我正在考虑flatmap这样使用,sanList.stream().flatMap(x -> x.get(1).stream())但它没有编译。

我该怎么做?

在此处输入图像描述

标签: lambdacollectionsjava-8

解决方案


你不需要 a flatMap,而是 amap就可以了。试试这个,

List<List<String>> nestedList = Arrays.asList(Arrays.asList("1", "domain1.com"),
        Arrays.asList("2", "domain2.com"));
List<String> values = nestedList.stream().map(nl -> nl.get(1)).collect(Collectors.toList());
System.out.println(values);

推荐阅读