Has*_*imR 5 java nested java-8 java-stream
我有一个嵌套列表Long.例如:
List<List<Long>> ids = [[1,2,3],[1,2,3,4],[2,3]];
Run Code Online (Sandbox Code Playgroud)
有没有办法使用流来创建所有列表中存在的新项目列表:
List<Long> result = [2,3];
Run Code Online (Sandbox Code Playgroud)
Rus*_*lan 12
没有流的解决方案非常简洁:
List<Long> result = new ArrayList<>(ids.get(0));
ids.forEach(result::retainAll);
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)
更新:正如@ernest_k在评论中提到的那样,为了避免多余的retainAll()电话,你可以在之前获得子列表:
ids.subList(1, ids.size()).forEach(result::retainAll);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |