問題タブ [java-stream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
20281 参照

java - java 8 parallelStream() と sorted()

JDK 8 EA がリリースされました。ラムダと新しい Stream API に慣れようとしています。並列ストリームでリストをソートしようとしましたが、結果は常に間違っています:

出力:

毎回出力が異なることに注意してください。私の質問は、それはバグですか?または、リストを並行してソートすることはできませんか? もしそうなら、なぜJavaDocはそれを述べていないのですか? 最後の質問ですが、ストリームの種類によって出力が異なる別の操作はありますか?

0 投票する
10 に答える
13502 参照

java - Java 8 ストリーム、表と裏を取得

Java 8 では、 Scala のStreamに似たStreamクラスが導入されました。これは、次のようなことを非常に簡潔に行うことができる強力な遅延構造です。

Java 8でこれを行うことができるかどうか疑問に思ったので、次のように書きました。

かなり単純ですが、 とのjava.lang.IllegalStateException: stream has already been operated upon or closed両方が一度しか実行できない端末操作であるため、生成されます。findFirst()skip()Stream

ストリームを 2 回使い切る必要はありません。必要なのは、ストリームの最初の数値と、残りを別のストリームとして (つまり、Scala のStream.headとに相当する) だけだからStream.tailです。Streamこれを達成するために使用できるJava 8 のメソッドはありますか?

ありがとう。

0 投票する
11 に答える
136804 参照

java - ストリームを 2 つのストリームに分割できますか?

Java 8 ストリームで表されるデータセットがあります。

それをフィルタリングしてランダムなサブセットを取得する方法を確認できます-たとえば

また、このストリームを縮小して、たとえば、データ セットの 2 つのランダムな半分を表す 2 つのリストを取得し、それらをストリームに戻す方法もわかります。しかし、最初のストリームから 2 つのストリームを生成する直接的な方法はありますか? 何かのようなもの

洞察をありがとう。

0 投票する
1 に答える
1105 参照

java - 入力ストリームから制限された長さを読み取るためのベスト プラクティス

長さヘッダーが前にあるソケットを介して送信されるパケットがあります。したがって、すべての送信には、4 バイトの長さ情報の後にパケットが続きます。したがって、read()行内の次のパケットを誤って読み取らないように、長さを決して超えないように制限する必要があります。

InputStream inは入力ストリーム、ByteArrayOutputStream byteStreamは着信パケットを書き込むストリーム、 はint len着信伝送の長さです。

これが私が思いついたものです:

これはまったく恐ろしいことです。バイトを 1 つずつ読み取ります。バッファを使用してこれを行うより良い方法があるかどうかを確認したいと思っていました(ストリームをコピーする標準的な方法に似ています)。

0 投票する
9 に答える
42463 参照

java - ストリームはなぜIterable を実装しない?

Java 8 にはクラスStream<T>があり、不思議なことにメソッドがあります

したがって、まさにこのメソッドを必要とするインターフェイスIterable<T>を実装することを期待するでしょうが、そうではありません。

foreach ループを使用して Stream を反復処理する場合は、次のようにする必要があります

ここで何か不足していますか?

0 投票する
10 に答える
18175 参照

java - `IntStream` を `String` として出力する最も簡単な方法

Java-8 では、またはメソッドを使用して、 String(または任意のCharSequence) を として簡単に扱うことができます。IntStreamcharscodePoints

その後、ストリームの内容を操作できます

結果をきちんと印刷する方法を探していましたが、簡単な方法さえ見つけられませんでした。intこのs のストリームを、 String.

以上starsより印刷希望

0 投票する
3 に答える
14227 参照

java - Iterable で Stream 関数を実行するには?

Java 8 では、Streamクラスに an をラップするメソッドがありませんIterable

代わりに、Spliteratorから を取得してから、次のように から を取得していますIterableStreamStreamSupport

不足しているStream操作を生成する他の方法はありますか?Iterable

0 投票する
2 に答える
824 参照

java - try-with-resources が BufferedReader from lines() を閉じないようにする方法 (ストリーム)?

これは、 a で終了したBufferedReaderときに a が閉じられないようにするために私が行っていることです:lines()try-with-resources

これは一般的なユーティリティであり、ファイルだけでなく、多くのリーダーで動作します..

Stream<String>を閉じても も閉じないように制御するより良い方法はありBufferedreaderますか?

以下のコメントに従って通常の を試すと、次のようtryになります。

それはより良いようです:)