java中流中的重复项

时间:2016-07-12 09:55:43

标签: java arrays arraylist java-stream

我需要复制List中的项目。

所以,如果列表是:

["firstItem", "secondItem"]

我想返回一个列表:

["firstItem","firstItem","secondItem","secondItem"]

我试图通过flatMap功能这样做,但我不知道该怎么做。

List<T> duplicatedList = originalList.stream()
            .flatMap(u -> Stream.of()) // how to duplicate items??
            .collect(Collectors.toList());

2 个答案:

答案 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]