如何在Java 8中获取集合中的嵌套元素列表?

时间:2018-05-01 01:59:43

标签: lambda collections java-8

我有一个对象,如下图所示。我想生成一个列表,其中只有每个嵌套列表的第一个索引上存储的值。类似于{domain1.com, domain2.com}的输出。

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

我该怎么做?

enter image description here

1 个答案:

答案 0 :(得分:2)

您不需要flatMap,而是map可以做到这一点。试试这个,

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