Rumah > Java > javaTutorial > teks badan

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

Linda Hamilton
Lepaskan: 2024-10-30 11:40:40
asal
692 orang telah melayarinya

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>
Salin selepas log masuk

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

Pendekatan serupa menggunakan IntStream:

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

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!

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!