Rumah > Java > javaTutorial > Bagaimana untuk Menukar Senarai dengan Cekap kepada int[] dalam Java Menggunakan Strim?

Bagaimana untuk Menukar Senarai dengan Cekap kepada int[] dalam Java Menggunakan Strim?

DDD
Lepaskan: 2024-12-23 20:20:24
asal
887 orang telah melayarinya

How to Efficiently Convert a List to an int[] in Java Using Streams?

Penukaran Senarai yang Cekap to int[] Menggunakan Java Stream

Masalah:

Pembangun menghadapi cabaran apabila cuba menukar Senarai kepada int[] dalam Java. List.toArray() menghasilkan Objek[], yang tidak boleh dihantar terus ke Integer[] atau int[].

Penyelesaian Awal:

Penyelesaian yang biasa digunakan melibatkan lelaran ke atas senarai menggunakan gelung untuk menetapkan setiap elemen secara manual kepada indeks yang sepadan dalam int[] tatasusunan.

Peningkatan Strim Java 8:

Walau bagaimanapun, Java 8 memperkenalkan peningkatan strim yang menyediakan pendekatan yang lebih ringkas dan cekap. Dengan menggunakan IntStreams, yang direka khusus untuk mengendalikan jenis int primitif, kami boleh menyelaraskan proses penukaran:

Penyelesaian dengan mapToInt() dan Lambda:

int[] example1 = list.stream().mapToInt(i -> i).toArray();
Salin selepas log masuk

MapToInt () kaedah mengubah setiap elemen Stream kepada int, membolehkan penukaran kepada IntStream. Ungkapan lambda (i -> i) hanya menyahkotak Integer.

Penyelesaian dengan mapToInt() dan Rujukan Kaedah:

Sebagai alternatif, kita boleh menggunakan rujukan kaedah :

int[] example2 = list.stream().mapToInt(Integer::intValue).toArray();
Salin selepas log masuk

Fikiran Proses:

Stream#toArray() mengembalikan Object[] secara lalai, jadi kami memanfaatkan mapToInt() untuk menukar elemen Integer kepada int. IntStreams menyediakan kaedah native toArray() yang menghasilkan tatasusunan int[].

Dengan menggunakan IntStreams, kami mengelakkan keperluan untuk unboxing tambahan atau penukaran eksplisit kepada Integer[] sebelum menghantar ke int[]. Pengoptimuman ini menyelaraskan proses penukaran, mempertingkatkan kepekatan dan kecekapan kod.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Senarai dengan Cekap kepada int[] dalam Java Menggunakan Strim?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan