Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Menukar `int[]` kepada `Integer[]` untuk Kekunci Peta di Jawa?

Susan Sarandon
Lepaskan: 2024-11-01 11:59:02
asal
214 orang telah melayarinya

How to Convert an `int[]` to an `Integer[]` for Map Keys in Java?

Cara Menukar int[] kepada Integer[] untuk Kekunci Peta

Apabila bekerja dengan Koleksi dan Peta di Java, adalah penting untuk menjadi sedar tentang batasan jenis data primitif. Dalam situasi tertentu, seperti apabila anda perlu menyimpan tatasusunan integer sebagai kunci dalam Peta, tatasusunan int[] primitif tidak boleh digunakan secara langsung kerana kunci Peta mestilah objek. Di sinilah penukaran int[] kepada Integer[] berguna.

Dalam kes khusus anda, anda mempunyai set data besar tatasusunan int[] dan ingin mencipta Map untuk mengira kekerapan setiap gabungan tatasusunan. Begini cara anda boleh menangani masalah ini:

Java 8 (Satu Baris)

Java 8 menyediakan kaedah mudah untuk menukar int[] kepada Integer[] menggunakan strim:

<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

// To boxed array
Integer[] boxedData = Arrays.stream(data).boxed().toArray(Integer[]::new);</code>
Salin selepas log masuk

Menggunakan Pengumpul

Sebagai alternatif, anda boleh menggunakan Pengumpul untuk menukar int[] kepada Senarai, yang kemudiannya boleh ditukar kepada Integer [] tatasusunan:

<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

// To boxed list
List<Integer> boxedList = Arrays.stream(data).boxed().collect(Collectors.toList());

// To boxed array
Integer[] boxedData = boxedList.toArray(new Integer[boxedList.size()]);</code>
Salin selepas log masuk

Nota:

Walaupun mungkin untuk menukar int[] kepada Integer[] untuk digunakan sebagai kunci peta, adalah penting untuk mempertimbangkan kelemahan menggunakan tatasusunan sebagai kunci. Ini termasuk:

  • Array boleh berubah, yang boleh membawa kepada tingkah laku yang tidak dijangka dan potensi kebocoran memori.
  • Array tidak berasaskan nilai, bermakna dua tatasusunan dengan elemen yang sama tetapi berbeza rujukan akan dianggap sebagai kunci yang berbeza.

Dalam kebanyakan kes, disyorkan untuk menggunakan objek tersuai atau kelas pembalut sebagai kunci peta dan bukannya tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar `int[]` kepada `Integer[]` untuk Kekunci Peta 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!