ホームページ > Java > &#&チュートリアル > Java ストリームから連続する要素をペアリングするにはどうすればよいですか?

Java ストリームから連続する要素をペアリングするにはどうすればよいですか?

DDD
リリース: 2024-11-28 20:26:12
オリジナル
220 人が閲覧しました

How Can I Pair Consecutive Elements from a Java Stream?

ストリーム要素のペアリング

{0, 1, 2, 3, 4} のような要素のストリームがある場合、どうすれば変換できますかそれを連続する要素のペアにします (Pairオブジェクト)?

答え:

Java 8 ストリーム ライブラリは、ストリームを並列処理のために小さな部分に分割することに特化しており、ステートフル パイプライン ステージを制限しています。したがって、隣接するストリーム要素に直接アクセスしたり、そのインデックスを取得したりすることはできません。

この制限を克服するには、ストリーム要素にインデックスを付け、ArrayList のようなランダム アクセス データ構造からアクセスすることを検討してください。たとえば、値の ArrayList が与えられたとします。

IntStream.range(1, arrayList.size())
             .mapToObj(i -> new Pair(arrayList.get(i-1), arrayList.get(i)))
             .forEach(System.out::println);
ログイン後にコピー

このパイプラインは、連続する要素のペアを作成し、並列で実行します。このソリューションは、入力ストリームが無限ではなく有限であることを前提としていることに注意してください。

以上がJava ストリームから連続する要素をペアリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート