Rumah >Java >javaTutorial >Bagaimana untuk Menukar ArrayList Integer kepada Array int Primitif di Jawa?

Bagaimana untuk Menukar ArrayList Integer kepada Array int Primitif di Jawa?

Patricia Arquette
Patricia Arquetteasal
2024-12-17 07:56:25966semak imbas

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

Menukar ArrayList of Integer to Primitive int Array

Dalam Java, adalah mungkin untuk menukar ArrayList yang mengandungi objek Integer kepada tatasusunan int[] primitif. Walau bagaimanapun, cubaan menghantar terus ArrayList ke int[], seperti yang ditunjukkan di bawah, akan mengakibatkan ralat masa kompilasi:

List<Integer> x = new ArrayList<Integer>();
int[] n = (int[])x.toArray(int[x.size()]);

Untuk berjaya menukar ArrayList kepada tatasusunan primitif, terdapat beberapa cara untuk mendekatinya:

Menggunakan toArray dengan Primitive Array

Satu kaedah adalah dengan menggunakan kaedah toArray bagi ArrayList dengan tatasusunan jenis primitif yang diingini sebagai hujah. Sebagai contoh:

List<Integer> x = new ArrayList<Integer>();
int[] n = new int[x.size()];
x.toArray(n);

Pendekatan ini melibatkan mencipta tatasusunan primitif baharu dengan saiz yang sesuai dan menghantarnya ke toArray untuk mengisi tatasusunan dengan nilai Integer.

Menggunakan Java 8 Streams

Jika menggunakan Java 8 atau lebih baru, anda boleh menukar ArrayList kepada tatasusunan primitif menggunakan stream() kaedah dengan mapToInt:

List<Integer> x = new ArrayList<Integer>();
int[] n = x.stream().mapToInt(Integer::intValue).toArray();

Pendekatan ini menggunakan strim untuk lelaran melalui ArrayList, memetakan setiap objek Integer kepada nilai int primitifnya dan mengumpul hasilnya ke dalam tatasusunan menggunakan toArray.

Lain-lain Pertimbangan

Apabila menukar ArrayList yang mengandungi objek Integer kepada primitif tatasusunan, adalah penting untuk dipertimbangkan:

  • Nilai Null: Jika ArrayList mengandungi sebarang nilai null, ia akan diabaikan daripada tatasusunan yang ditukar.
  • Saiz: Tatasusunan yang ditukar akan mempunyai saiz yang sama dengan ArrayList.
  • Tinju/Nyah Tinju: Apabila menukar antara jenis primitif dan objek, operasi tinju dan nyah kotak adalah perlu. Ini boleh menyebabkan beberapa overhed prestasi.

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