[解決済み] 1つのストリームを2つに分けることはできますか?
2022-04-22 06:15:28
質問
Java 8のストリームで表現されたデータセットがあります。
Stream<T> stream = ...;
これをフィルタリングして、ランダムなサブセットを取得する方法があります。
Random r = new Random();
PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator();
Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0));
また、このストリームを縮小して、例えば、データセットのランダムな半分を表す2つのリストを取得し、それらをストリームに戻す方法もありますね。 しかし、最初のストリームから2つのストリームを生成する直接的な方法はないのでしょうか?例えば
(heads, tails) = stream.[some kind of split based on filter]
ご意見をお聞かせください。
解決方法は?
正確には、そうではありません。 あなたは、2つの
Stream
同時にもう一方を生成する必要なしに、どうやって一方を反復処理するのでしょうか? ストリームは一度しか操作できないのです。
ただし、リストに捨てたりする場合は、以下のようになります。
stream.forEach((x) -> ((x == 0) ? heads : tails).add(x));
関連
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
Java Exceptionが発生しました エラー解決
-
JQuery DataTable 详解
-
[解決済み] Java 8でリストのリストをリストにするにはどうしたらいいですか?
-
[解決済み] リフレクションを使って、パッケージ内のすべてのクラスを見つけることができますか?
-
[解決済み] Java 8のストリーム内部からCHECKED例外を投げるにはどうすればよいですか?
-
[解決済み】ストリームを使用して、オブジェクトのリストをtoStringメソッドから取得した文字列に変換する
-
[解決済み] Java8ストリームの要素を既存のListに追加する方法
-
[解決済み] Java 8 Streamを使用して、いくつかのクラスプロパティからリストを取得するにはどうすればよいですか?
-
[解決済み] 2つのJava 8ストリーム、または1つのストリームへの追加要素の追加
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
プロジェクトの依存関係を解決できなかった 解決
-
JQuery DataTable 详解
-
eclipse の実行時に java 仮想マシンが見つからなかった
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
自動配線された依存性のインジェクションに失敗しました。
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合