Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Menjana Pasangan Berturut-turut dengan Cekap daripada Strim Java?

Bagaimanakah Saya Boleh Menjana Pasangan Berturut-turut dengan Cekap daripada Strim Java?

Mary-Kate Olsen
Lepaskan: 2024-11-29 08:19:10
asal
121 orang telah melayarinya

How Can I Efficiently Generate Consecutive Pairs from a Java Stream?

Mengumpul Pasangan Berturut-turut daripada Strim

Menjana pasangan berturut-turut daripada aliran unsur ialah tugas biasa dalam pengaturcaraan. Pertimbangkan tugas menukar strim mudah seperti { 0, 1, 2, 3, 4 } kepada strim pasangan seperti berikut: { Pair baru(0, 1), Pair baru(1, 2), Pair baru(2, 3), new Pair(3, 4) }.

Dalam Java 8, strim direka terutamanya untuk memisahkan data kepada ketulan yang lebih kecil untuk selari pemprosesan. Akibatnya, peringkat saluran paip stateful adalah terhad dan operasi seperti mengakses elemen aliran bersebelahan tidak disokong secara langsung.

Satu pendekatan untuk menangani had ini ialah menggunakan indeks strim dengan bergantung pada struktur data capaian rawak seperti sebuah ArrayList. Sebagai contoh, jika elemen strim disimpan dalam ArrayList, kita boleh menjana pasangan yang diingini seperti berikut:

IntStream.range(1, arrayList.size())
             .mapToObj(i -> new Pair(arrayList.get(i-1), arrayList.get(i)))
             .forEach(System.out::println);
Salin selepas log masuk

Penyelesaian ini mempunyai had kerana ia memerlukan aliran input menjadi terhingga. Walau bagaimanapun, ia membenarkan pelaksanaan selari saluran paip.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Pasangan Berturut-turut dengan Cekap daripada Strim Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan