Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menukar `int[]` kepada `Integer[]` untuk Kekunci Peta di Jawa?

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

Susan Sarandon
Susan Sarandonasal
2024-11-01 11:59:02200semak imbas

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>

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>

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!

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