Joh*_*ler 6 java java-8 java-stream
有没有办法将元素T插入Stream<T>?
ArrayList<Foo> foos = new ArrayList<>();
Foo foo = new Foo();
Stream<Foo> stream = Stream.concat(foos.stream(), Stream.of(foo));
Run Code Online (Sandbox Code Playgroud)
还有另外一种方法吗?基本上是一种foo.stream().add(foo)...... - 当然add()不存在.-
不,没有其他方法可以在标准Java Stream API中向给定流添加元素.一些第三方库(包括我的StreamEx库)提供了其他方便的方法来执行此操作:
Stream<Foo> stream = StreamEx.of(foos).append(foo);
Run Code Online (Sandbox Code Playgroud)
在内部它使用相同的concat方法.
jOOL库中提供了类似的方法:
Stream<Foo> stream = Seq.seq(foos).concat(foo);
Run Code Online (Sandbox Code Playgroud)