Rumah > Java > javaTutorial > Bagaimana untuk menukar ArrayList Integer dengan Cekap kepada Array int Primitif di Jawa?

Bagaimana untuk menukar ArrayList Integer dengan Cekap kepada Array int Primitif di Jawa?

Susan Sarandon
Lepaskan: 2024-12-11 16:44:12
asal
950 orang telah melayarinya

How to Efficiently Convert an ArrayList of Integers to a Primitive int Array in Java?

Menukar ArrayList of Integer to Primitive int Array

Di Java, terdapat berbilang pendekatan untuk menukar ArrayList yang mengandungi objek Integer kepada int primitif [] tatasusunan.

Satu kaedah, seperti yang dicuba dalam kod coretan yang disediakan, adalah menggunakan kaedah toArray(). Walau bagaimanapun, ini akan membuang ralat masa kompilasi kerana jenis tatasusunan yang tidak serasi. Untuk menyelesaikan masalah ini, nyatakan jenis tatasusunan yang akan dikembalikan, seperti yang ditunjukkan di bawah:

int[] n = (int[])x.toArray(new int[x.size()]);
Salin selepas log masuk

Pendekatan alternatif, terutamanya berguna dengan Java 8, ialah memanfaatkan API Strim:

int[] arr = list.stream().mapToInt(i -> i).toArray();
Salin selepas log masuk

Kaedah ini menukar setiap elemen dalam senarai kepada nilai int yang sepadan, menghasilkan tatasusunan yang diingini.

Anda juga boleh menggunakan intValue kaedah untuk menukar secara eksplisit setiap objek Integer:

int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
Salin selepas log masuk

Untuk mengendalikan potensi rujukan nol, tambahkan penapis pada saluran paip strim:

int[] arr = list.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray();
Salin selepas log masuk

Dengan teknik ini, anda boleh menukar ArrayList dengan cekap daripada Integer kepada tatasusunan int primitif di Jawa.

Atas ialah kandungan terperinci Bagaimana untuk menukar ArrayList Integer dengan Cekap kepada Array int Primitif di Jawa?. 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