Masalah:
Bagaimana saya boleh memanipulasi Iterable menggunakan Java 8 Strim API tanpa menukarnya kepada Senarai?
Penyelesaian:
tl;dr: Gunakan StreamSupport.stream(iterable.spliterator(), false) untuk mencipta strim daripada iterable.
Penjelasan Terperinci:
Iterable menyediakan kaedah spliterator() yang mengembalikan Spliterator, yang boleh digunakan untuk mencipta strim menggunakan StreamSupport.stream. Berikut ialah coretan kod:
StreamSupport.stream(iterable.spliterator(), false) .filter(...) .moreStreamOps(...);
Pendekatan ini mengelakkan penukaran yang tidak perlu kepada Senarai, yang boleh meningkatkan prestasi dan penggunaan memori. StreamSupport.stream mengambil dua hujah:
Strim yang terhasil kemudiannya boleh dimanipulasi menggunakan operasi Stream API seperti penapis, peta, dll.
Faedah:
Menggunakan StreamSupport.stream menyediakan faedah berikut:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Iterable kepada Strim Java 8 Tanpa Menggunakan Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!