我需要复制List
中的项目。
所以,如果列表是:
["firstItem", "secondItem"]
我想返回一个列表:
["firstItem","firstItem","secondItem","secondItem"]
我试图通过flatMap功能这样做,但我不知道该怎么做。
List<T> duplicatedList = originalList.stream()
.flatMap(u -> Stream.of()) // how to duplicate items??
.collect(Collectors.toList());
答案 0 :(得分:6)
创建两个相同项目的流:
List<String> originalList = Arrays.asList("firstItem","secondItem");
List<String> duplicatedList = originalList.stream()
.flatMap(u -> Stream.of(u,u))
.collect(Collectors.toList());
System.out.println(duplicatedList);
输出:
[firstItem, firstItem, secondItem, secondItem]
答案 1 :(得分:1)
我认为这很简单,更具可读性:
originalList.addAll(originalList);
输出:
[firstItem, secondItem, firstItem, secondItem]