Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menukar int[] kepada Integer[] untuk Digunakan sebagai Kunci Peta dalam Java?

Bagaimana untuk Menukar int[] kepada Integer[] untuk Digunakan sebagai Kunci Peta dalam Java?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 11:40:40683semak imbas

How to Convert int[] to Integer[] for Use as Map Keys in Java?

Menukar int[] kepada Integer[] untuk Kekunci Peta dalam Java: Panduan Komprehensif

Di Java, kekunci Peta memerlukan kesamaan rujukan, yang tidak boleh dicapai dengan jenis primitif seperti int[]. Apabila bekerja dengan tatasusunan int[] dan perlu menggunakannya sebagai kunci dalam Peta, adalah perlu untuk menukarnya kepada jenis objek yang sesuai. Mari kita terokai pelbagai pilihan untuk penukaran ini.

Kaedah 1: Arrays.stream().boxed().toArray()

Java 8 memperkenalkan kaedah ringkas untuk menukar int[] kepada Integer[ ] menggunakan API strim:

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

Integer[] primitiveToBoxed = Arrays
        .stream(data)
        .boxed()
        .toArray(Integer[]::new);</code>

Kaedah 2: IntStream.of().boxed().toArray()

Pendekatan serupa menggunakan IntStream:

<code class="java">Integer[] primitiveToBoxed = IntStream
        .of(data)
        .boxed()
        .toArray(Integer[]::new);</code>

Pertimbangan untuk Kekunci Peta

Walaupun Integer[] boleh berfungsi sebagai kunci, ia mungkin tidak sesuai kerana:

  • Lebih muat: Integer menyimpan nilai antara -128 hingga 127, membawa kepada potensi perlanggaran dalam set data yang lebih besar.
  • Overhed Prestasi: Integer[] mencipta objek Integer baharu untuk setiap nilai int, memperkenalkan overhed tambahan.

Pilihan Alternatif

Untuk prestasi yang lebih baik dan keunikan utama, pertimbangkan untuk menggunakan:

  • Objek Tersuai: Buat kelas tersuai yang merangkum int[] dan melaksanakan hashCode() dan equals() untuk carian yang cekap.
  • Longs: Memandangkan nilai long boleh mewakili integer, ia boleh digunakan sebagai kunci dalam Peta dengan prestasi yang lebih baik daripada Integer[].
  • Perpustakaan Luaran: Lihat Perpustakaan Koleksi Apache Commons atau Google Guava untuk koleksi khusus yang mengendalikan jenis primitif dengan cara yang berprestasi.

Ingat, pendekatan terbaik bergantung pada saiz set data dan keperluan prestasi. Memilih teknik yang sesuai membolehkan anda menjejak kekerapan gabungan int[] dalam set data anda dengan cekap.

Atas ialah kandungan terperinci Bagaimana untuk Menukar int[] kepada Integer[] untuk Digunakan sebagai Kunci Peta dalam Java?. 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