Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menukar Senarai dengan Cekap kepada int[] dalam Java?

Bagaimanakah Saya Boleh Menukar Senarai dengan Cekap kepada int[] dalam Java?

Linda Hamilton
Linda Hamiltonasal
2024-12-17 12:55:25616semak imbas

How Can I Efficiently Convert a List to an int[] in Java?

Senarai Menukar kepada int[] dalam Java: Penyelesaian Menggunakan Java 8 Stream

Pengaturcara Java sering menghadapi keperluan untuk menukar Senarai kepada tatasusunan int[]. Walaupun gelung boleh digunakan untuk penukaran ini, ia tidak cekap dan terdedah kepada ralat. Nasib baik, strim Java 8 menyediakan penyelesaian yang lebih ringkas dan elegan.

1. Menggunakan mapToInt()

Strim menyediakan kaedah mapToInt(), yang membolehkan anda menukar setiap elemen strim kepada nilai int primitif. Untuk menukar Senarai kepada int[] menggunakan mapToInt(), ikut langkah berikut:

import java.util.List;

class ListToIntArrayExample {

    public static void main(String[] args) {
        List<Integer> list = List.of(1, 2, 3, 4, 5);

        // Convert the list to an int[] using mapToInt()
        int[] intArray = list.stream()
                              .mapToInt(Integer::intValue)
                              .toArray();

        // Print the converted int[]
        for (int i : intArray) {
            System.out.println(i);
        }
    }
}

Dalam contoh ini, kami menggunakan kaedah stream() pada senarai untuk mencipta aliran integer. Kami kemudian menggunakan kaedah mapToInt() dengan ungkapan lambda yang hanya mengembalikan nilai integer setiap elemen. Akhir sekali, kami menggunakan toArray() untuk menukar strim kembali kepada int[].

2. Menggunakan Unboxing

Memandangkan pengkompil mengetahui bahawa hasil lambda dalam mapToInt() mestilah dari jenis int, kita boleh memudahkan lambda dengan menghilangkan hantaran eksplisit ke int:

...
int[] intArray = list.stream()
                      .mapToInt(i -> i)
                      .toArray();
...

3. Menyimpulkan Jenis Generik

Memandangkan pengkompil boleh membuat kesimpulan jenis generik strim, kita boleh meninggalkan jenis Integer dalam lambda:

...
int[] intArray = list.stream()
                      .mapToInt(i -> i)
                      .toArray();
...

Kaedah ini menyediakan cekap dan mudah cara untuk menukar Senarai kepada int[] dalam Java.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Senarai dengan Cekap kepada int[] 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