在Java中,是否有一种简便的方法将N个项目的集合转换为N个项目,每个项目只有一个项目?我的意思是除了手动浏览集合中的每个项目并将其复制到新集合之外。
最佳答案
这是一种使用Java 8中的一条语句执行此操作的方法。l1
是一些Collection<T>
,结果是List<ArrayList<T>>
,其中每个ArrayList<T>
都包含集合中的一个元素。
List<ArrayList<T>> l2 = l1.stream().map(x -> new ArrayList<>(Arrays.asList(x))).collect(Collectors.toList());
细分如下:
创建集合中所有元素的
Stream
;将每个元素映射到包含该元素的
ArrayList
;将生成的
ArrayList
收集到List<ArrayList>
中。关于java - 将N个项目的集合转换为N个项目,每个集合1个项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24923216/