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

Bagaimana untuk Menukar Senarai dengan Cekap kepada Peta di Jawa?

Patricia Arquette
Lepaskan: 2024-11-28 11:52:11
asal
656 orang telah melayarinya

How to Efficiently Convert a List to a Map in Java?

Menukar Senarai kepada Peta dalam Java: Pendekatan Optimum

Pendekatan optimum untuk menukar Senarai kepada Peta di Jawa bergantung pada pelbagai faktor, termasuk versi Java dan keperluan khusus kes penggunaan.

Pra-Java 8 Pendekatan

Sebelum Java 8, kaedah biasa untuk menukar Senarai kepada Peta melibatkan lelaran ke atas elemen Senarai dan mengisi Peta secara manual. Walaupun mudah, pendekatan ini boleh menjadi tidak cekap dan terdedah kepada ralat untuk set data yang besar.

Contoh pendekatan pra-Java 8:

List<Object[]> results;
Map<Integer, String> resultsMap = new HashMap<>();
for (Object[] o : results) {
    resultsMap.put((Integer) o[0], (String) o[1]);
}
Salin selepas log masuk

Java 8 Streams API

Dengan Java 8, Streams API memperkenalkan pendekatan yang lebih ringkas dan cekap untuk menukar Senarai kepada Peta. Menggunakan strim dan kelas Pengumpul, anda boleh mencapai penukaran ini dalam satu baris kod:

Map<String, Item> map = 
    list.stream().collect(Collectors.toMap(Item::getKey, item -> item));
Salin selepas log masuk

Pendekatan ini menawarkan beberapa kelebihan:

  • Kebolehbacaan dipertingkat: Operasi aliran lebih ringkas dan lebih mudah difahami daripada pra-Java 8 pendekatan.
  • Kecekapan: Strim menyediakan mekanisme pemprosesan selari, yang boleh meningkatkan prestasi dengan ketara untuk set data yang besar.
  • Keselamatan jenis: Pemeriksaan jenis dikuatkuasakan oleh pengkompil Java, mengurangkan risiko ralat.

Mengendalikan Kekunci Pendua

Jika fungsi pemetaan anda boleh menghasilkan kunci pendua, anda mungkin menghadapi ralat semasa menggunakan pengumpul toMap. Untuk mengendalikan situasi ini, anda boleh menentukan operator binari untuk menggabungkan nilai pendua:

Map<String, Integer> map = 
    intList.stream().collect(toMap(i -> String.valueOf(i % 3), 
                                   i -> i, 
                                   Integer::sum));
Salin selepas log masuk

Dalam contoh ini, operator binari ialah Integer::sum, yang merumuskan nilai yang dikaitkan dengan kunci pendua.

Kesimpulan

Pendekatan optimum untuk menukar Senarai kepada Peta dalam Java bergantung pada versi Java dan keperluan khusus kes penggunaan anda. Untuk Java 8 dan yang lebih baru, menggunakan API Streams sangat disyorkan kerana kecekapan, ringkas dan keselamatan jenisnya.

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