Rumah > Java > javaTutorial > Bagaimana untuk Menukar Senarai dengan Cekap kepada int[] dalam Java?

Bagaimana untuk Menukar Senarai dengan Cekap kepada int[] dalam Java?

Barbara Streisand
Lepaskan: 2024-12-26 11:21:09
asal
751 orang telah melayarinya

How to Efficiently Convert a List to an int[] in Java?

Senarai Menukar kepada int[] dalam Java

Apabila cuba menukar Senarai kepada int[], adalah perkara biasa untuk menghadapi kekeliruan kerana batasan List.toArray(). Walaupun ia mengembalikan Objek[], tatasusunan ini tidak boleh dihantar terus ke int[].

Untuk menangani isu ini, pendekatan biasa ialah menggunakan gelung, seperti yang ditunjukkan dalam soalan. Walau bagaimanapun, Java 8 memperkenalkan penyelesaian yang lebih cekap dan ringkas menggunakan strim.

Menggunakan Strim

Dengan pengenalan IntStream, Java 8 menyediakan cara yang mudah untuk mengendalikan jenis primitif seperti int. Kod berikut menunjukkan cara untuk menukar Senarai ke int[] menggunakan strim:

int[] example1 = list.stream().mapToInt(i -> i).toArray();
// OR
int[] example2 = list.stream().mapToInt(Integer::intValue).toArray();
Salin selepas log masuk

Proses Pemikiran

  • Strim#toArray yang mudah mengembalikan tatasusunan Object[], yang tidak diingini.
  • IntStream ialah strim khas yang direka untuk nilai int.
  • Untuk mendapatkan IntStream daripada Stream, kami menggunakan kaedah mapToInt.
  • mapToInt menggunakan ToIntFunction, yang memetakan Integer kepada int. Ini boleh dilaksanakan sebagai rujukan lambda atau kaedah.
  • Integer#intValue menyahkotak Integer untuk mendapatkan nilai int asas.
  • Sebagai alternatif, kita boleh menggunakan penyahkotak mudah untuk menggantikan lambda dalam mapToInt, menghasilkan contoh yang lebih ringkas1.

Pendekatan berasaskan aliran ini memudahkan proses penukaran dan menghapuskan keperluan untuk gelung manual.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Senarai dengan Cekap kepada int[] dalam 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