Rumah >Java >javaTutorial >Java menggunakan fungsi stream() kelas Arrays untuk menukar tatasusunan kepada aliran

Java menggunakan fungsi stream() kelas Arrays untuk menukar tatasusunan kepada aliran

WBOY
WBOYasal
2023-07-26 13:45:242533semak imbas

Java menggunakan fungsi stream() kelas Arrays untuk menukar tatasusunan kepada strim

Dalam pengaturcaraan Java, selalunya perlu melakukan pelbagai operasi dan pemprosesan pada tatasusunan. Dengan keluaran Java 8, konsep pengaturcaraan aliran telah diperkenalkan, menjadikan pemprosesan tatasusunan lebih fleksibel dan ringkas. Fungsi stream() dalam kelas Arrays adalah salah satu daripadanya. Ia boleh menukar tatasusunan menjadi objek aliran, dengan itu melakukan pelbagai operasi penstriman dengan mudah.

Strim yang dipanggil bermaksud data dihantar secara berterusan, dan pelbagai pemprosesan seperti penapisan, pengiraan dan pemetaan boleh dilakukan ke atasnya. Untuk tatasusunan, menggunakan strim untuk pemprosesan boleh memudahkan kod dan meningkatkan kecekapan pembangunan. Berikut akan memperkenalkan secara terperinci cara menggunakan fungsi stream() kelas Arrays untuk menukar tatasusunan kepada aliran, dan menunjukkan beberapa contoh kod.

Pertama, kita perlu mengimport kelas java.util.Arrays.

import java.util.Arrays;

Kedua, tentukan tatasusunan sebagai sumber data kami. Di sini kita mengambil tatasusunan integer sebagai contoh.

int[] nums = {1, 2, 3, 4, 5};

Seterusnya, gunakan fungsi stream() kelas Tatasusunan untuk menukar tatasusunan kepada strim.

Streamdfcfb097077124ccf9617875ee28bb24 stream = Arrays.stream(nums);

Dengan cara ini, kami mendapat aliran objek aliran, yang boleh digunakan untuk pelbagai operasi.

Sebagai contoh, anda boleh menggunakan fungsi forEach() untuk melintasi aliran dan beroperasi pada setiap elemen.

stream.forEach(System.out::println);

Dalam kod di atas, kaedah println() kelas Sistem dirujuk melalui operator :: untuk mengeluarkan setiap elemen ke konsol.

Selain itu, kami juga boleh melakukan operasi penapisan, pengiraan, pemetaan dan lain-lain.

Sebagai contoh, anda boleh menggunakan fungsi penapis() untuk menapis strim dan hanya mengekalkan elemen yang memenuhi syarat.

stream.filter(n -> n % 2 == 0)

  .forEach(System.out::println);

Dalam kod di atas, fungsi penapis() digunakan untuk mengekalkan nombor genap dalam tatasusunan dan mengeluarkannya ke konsol.

Untuk contoh lain, anda boleh menggunakan fungsi map() untuk memetakan setiap elemen dalam strim.

stream.map(n -> n * n)

  .forEach(System.out::println);

Dalam kod di atas, fungsi map() digunakan untuk mengkuadratkan setiap elemen dalam tatasusunan dan mengeluarkannya ke konsol.

Selain operasi biasa, kami juga boleh menggunakan fungsi reduce() untuk melaksanakan operasi pengurangan pada strim.

int sum = stream.reduce(0, (a, b) -> a + b);
System.out.println(sum);

Dalam kod di atas, fungsi reduce() menerima dua parameter. Satu parameter ialah nilai awal untuk pengurangan, dan parameter kedua ialah operasi binari yang digunakan untuk mengurangkan elemen dalam aliran. Operasi binari yang digunakan di sini adalah untuk menambah dua nombor. Akhir sekali, elemen dalam tatasusunan ditambah untuk mendapatkan jumlah dan output ke konsol.

Perlu diingatkan bahawa aliran hanya boleh digunakan sekali sahaja, iaitu operasi di atas hanya boleh dilakukan sekali. Jika anda ingin melakukan berbilang operasi pada strim yang sama, anda harus mencipta semula objek strim.

Ringkasnya, menggunakan fungsi stream() kelas Array di Java untuk menukar tatasusunan kepada aliran ialah kaedah yang sangat mudah dan praktikal. Melalui pengaturcaraan aliran, kecekapan operasi dan pemprosesan tatasusunan boleh dipertingkatkan dengan banyak, di samping menjadikan kod lebih ringkas dan boleh dibaca. Semoga contoh kod di atas dapat membantu pembaca.

Atas ialah kandungan terperinci Java menggunakan fungsi stream() kelas Arrays untuk menukar tatasusunan kepada aliran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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