我有一个对象,如下图所示。我想生成一个列表,其中只有每个嵌套列表的第一个索引上存储的值。类似于{domain1.com, domain2.com}
的输出。
我想使用Java 8 lambda表达式来完成它。我正在考虑使用flatmap
这样sanList.stream().flatMap(x -> x.get(1).stream())
,但它没有编译。
我该怎么做?
答案 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);