に要素T
を挿入する方法はありますか?ストリームに要素を挿入する
ArrayList<Foo> foos = new ArrayList<>();
Foo foo = new Foo();
Stream<Foo> stream = Stream.concat(foos.stream(), Stream.of(foo));
別の方法がありますか?基本的にはfoo.stream().add(foo)
の種類... - もちろんadd()は存在しません。 -
に要素T
を挿入する方法はありますか?ストリームに要素を挿入する
ArrayList<Foo> foos = new ArrayList<>();
Foo foo = new Foo();
Stream<Foo> stream = Stream.concat(foos.stream(), Stream.of(foo));
別の方法がありますか?基本的にはfoo.stream().add(foo)
の種類... - もちろんadd()は存在しません。 -
いいえ、標準のJava Stream APIで指定されたストリームに要素を追加する方法は他にありません。内部的には同じconcat
メソッドを使用しています
Stream<Foo> stream = StreamEx.of(foos).append(foo);
:私のStreamExライブラリを含むいくつかのサードパーティのライブラリは、これを行うにはadditional便利なメソッドを提供します。
同様の方法がjOOLライブラリで提供されています:foos
が存在しないと仮定すると
Stream<Foo> stream = Seq.seq(foos).concat(foo);
。 `concat`方法についてのあなたを悩ませている何
Stream.Builder<Integer> builder = Stream.builder();
for (int i = 0; i < 10; i++) {
builder.accept(i);
}
Stream<Integer> build = builder.add(50).build();
// ...
これは非常に便利です。 –
:あなたはこのよう
ArrayList
の代わりにStream.Builder
でStream
を構築することができますか? – RealSkeptic@RealSkepticまあ、もう少しです。 「回避策」のように見えますが、パフォーマンスについては、正直であるためにはさらに検索する必要があります。 –