Rumah > Java > javaTutorial > Bagaimana untuk Menukar Senarai Java dengan Cekap kepada Peta?

Bagaimana untuk Menukar Senarai Java dengan Cekap kepada Peta?

Mary-Kate Olsen
Lepaskan: 2024-11-27 10:28:13
asal
656 orang telah melayarinya

How to Efficiently Convert a Java List to a Map?

Cara Menukar Senarai kepada Peta dalam Java

Apabila bekerja dengan koleksi di Java, menukar senarai kepada peta boleh menjadi keperluan biasa . Memahami pendekatan optimum untuk penukaran ini boleh meningkatkan prestasi dan kebolehbacaan kod dengan ketara.

Pendekatan Penukaran Optimum

Pendekatan Tradisional:
Pendekatan Tradisional pendekatan melibatkan penggunaan gelung dan memetakan setiap elemen senarai secara manual kepada pasangan nilai kunci peta. Pendekatan ini mudah tetapi boleh menjadi tidak cekap untuk senarai yang lebih besar.

Strim Java 8:
Strim Java 8 memperkenalkan, yang menyediakan cara yang berkuasa dan ringkas untuk memanipulasi koleksi. Menggunakan strim, anda boleh menukar senarai kepada peta dalam satu baris:

Map<Integer, String> resultsMap = results.stream()
                                         .collect(Collectors.toMap(o -> (Integer) o[0], o -> (String) o[1]));
Salin selepas log masuk
Salin selepas log masuk

Faedah Menggunakan Strim:

  • Ketepatan: Pendekatan berasaskan aliran jauh lebih ringkas daripada berasaskan gelung tradisional pendekatan.
  • Kecekapan: Strim dioptimumkan untuk pemprosesan selari, yang boleh meningkatkan prestasi dengan ketara untuk senarai besar.
  • Fleksibiliti: Strim menyediakan pelbagai kefungsian tambahan, seperti keupayaan untuk menapis, mengisih dan mengumpulkan elemen sebelum menukarnya kepada a peta.

Contoh

Pertimbangkan senarai objek berikut:

List<Object[]> results = new ArrayList<>();
results.add(new Object[] {1, "Item 1"});
results.add(new Object[] {2, "Item 2"});
Salin selepas log masuk

Untuk menukar senarai ini kepada peta, anda boleh gunakan pendekatan berasaskan aliran:

Map<Integer, String> resultsMap = results.stream()
                                         .collect(Collectors.toMap(o -> (Integer) o[0], o -> (String) o[1]));
Salin selepas log masuk
Salin selepas log masuk

Kod ini akan mencipta peta dengan nilai integer daripada senarai sebagai kunci dan nilai rentetan sebagai nilai.

Pertimbangan Tambahan:

  • Jika fungsi pemetaan anda bukan bijektif (iaitu, ia boleh memetakan berbilang elemen ke kunci yang sama), anda boleh menggunakan operator binari untuk menggabungkan nilai yang dikaitkan dengan kunci pendua.
  • Anda boleh juga menggunakan kaedah Collectors.groupingBy() untuk mencipta peta yang mengumpulkan elemen berdasarkan fungsi kunci yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Senarai Java dengan Cekap kepada Peta?. 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