Rumah > Java > javaTutorial > Bagaimana untuk Menukar Senarai Java 8 kepada Peta Tanpa Jambu Batu?

Bagaimana untuk Menukar Senarai Java 8 kepada Peta Tanpa Jambu Batu?

Barbara Streisand
Lepaskan: 2024-12-29 08:37:14
asal
259 orang telah melayarinya

How to Convert a Java 8 List to a Map Without Guava?

Senarai Java 8 ke dalam Map tanpa Jambu Batu

Pembangun Java boleh menggunakan kuasa Java 8 untuk menukar Senarai kepada Peta tanpa bergantung pada perpustakaan pihak ketiga seperti Jambu Batu.

Pernyataan Masalah

Pertimbangkan cabaran untuk menukar Senarai objek kepada Peta menggunakan aliran dan lambdas dalam Java 8. Pendekatan tradisional dalam Java 7 dan ke bawah melibatkan lelaran ke atas Senarai dan menambah setiap elemen secara manual sebagai pasangan nilai kunci pada Peta.

Penyelesaian Java 8

Java 8 menyediakan penyelesaian yang lebih ringkas dan elegan menggunakan kaedah Collectors.toMap(). Kaedah ini mengambil dua fungsi sebagai hujah:

  • Pemeta Kekunci: Fungsi yang memetakan setiap elemen daripada Senarai ke kunci Peta.
  • Pemeta Nilai: Fungsi yang memetakan setiap elemen daripada Senarai kepada nilai Peta.

Dalam kes khusus ini, kuncinya ialah nama setiap objek Pilihan dan nilainya ialah objek Pilihan itu sendiri. Kaedah stream().collect() kemudian mengumpul hasilnya ke dalam Peta menggunakan fungsi ini.

Map<String, Choice> result =
    choices.stream().collect(Collectors.toMap(Choice::getName,
                                              Function.identity()));
Salin selepas log masuk

Coretan kod ringkas dan cekap ini mempamerkan kuasa strim Java 8 dan lambda untuk mengubah koleksi menjadi data berbeza struktur.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Senarai Java 8 kepada Peta Tanpa Jambu Batu?. 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