lambda - 如何在 Java 8 中获取集合中嵌套元素的列表?
问题描述
我有一个对象,如下图所示。我想从中生成一个列表,其中仅将每个嵌套列表的值存储在第一个索引上。像{domain1.com, domain2.com}
输出一样的东西。
我想使用 Java 8 lambda 表达式来做到这一点。我正在考虑flatmap
这样使用,sanList.stream().flatMap(x -> x.get(1).stream())
但它没有编译。
我该怎么做?
解决方案
你不需要 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);
推荐阅读
- python - 使用 matplotlib 的 set_array() 例程的准则是什么?
- php - Twig 中的 Symfony ManyToMany 错误消息
- javascript - 为什么每个并行承诺都获得相同的值(res 总是 5 async 不工作)?
- android - 如何在 Android 中使用 FirebaseUI 检索用户的姓名和姓氏?
- java - 检查单击复选框的条件
- java - 如何在 java 中的大文件上使用 Deflater 和 Inflater?
- python - 如何在python中调整输出图像的大小?
- asp.net - ASP.NET libwebp.dll 如何将 WebP 图像保存到磁盘
- java - 将 URL 路径与查询字符串匹配
- swift - 以编程方式添加到 NSTableView 的列在 Delegate 中无法识别