ホームページ >Java >&#&チュートリアル >Java ストリームから連続する要素をペアリングするにはどうすればよいですか?
ストリーム要素のペアリング
{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 サイトの他の関連記事を参照してください。