相关疑难解决方法(0)

将两个Java 8流或一个额外元素添加到流中

我可以添加流或额外的元素,如下所示:

Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element));
Run Code Online (Sandbox Code Playgroud)

我可以随时添加新内容,如下所示:

Stream stream = Stream.concat(
                       Stream.concat(
                              stream1.filter(x -> x!=0), stream2)
                              .filter(x -> x!=1),
                                  Stream.of(element))
                                  .filter(x -> x!=2);
Run Code Online (Sandbox Code Playgroud)

但这很难看,因为它concat是静态的.如果concat是实例方法,上面的示例将更容易阅读:

 Stream stream = stream1.concat(stream2).concat(element);
Run Code Online (Sandbox Code Playgroud)

 Stream stream = stream1
                 .filter(x -> x!=0)
                 .concat(stream2)
                 .filter(x -> x!=1)
                 .concat(element)
                 .filter(x -> x!=2);
Run Code Online (Sandbox Code Playgroud)

我的问题是:

1)concat静态有什么好的理由吗?或者是否有一些我缺少的等效实例方法?

2)无论如何,有没有更好的方法呢?

java concat java-8 java-stream

162
推荐指数
4
解决办法
11万
查看次数

标签 统计

concat ×1

java ×1

java-8 ×1

java-stream ×1