Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menukar Senarai Java kepada Peta dengan Cekap?
Cara Menukar Senarai kepada Peta di Jawa: Pendekatan Optimum
Menukar Senarai kepada Peta di Jawa ialah tugas biasa yang boleh dicapai dengan pelbagai cara. Satu pendekatan adalah untuk melelaran melalui Senarai dan mengisi Peta secara manual. Walau bagaimanapun, terdapat kaedah yang lebih cekap untuk melaksanakan penukaran ini menggunakan fungsi Java terbina dalam.
Pendekatan Berasaskan Strim (Java 8 atau Kemudian)
Dengan Java 8, API Strim menyediakan cara ringkas dan berprestasi untuk menukar Senarai kepada Peta. Pendekatan ini menggunakan kaedah Collectors.toMap():
Map<Integer, String> map = list.stream().collect(Collectors.toMap(Item::getKey, item -> item));
Di sini, fungsi Item::getKey lambda mendapatkan semula kunci untuk setiap elemen dalam senarai, manakala item -> item lambda mendapatkan semula nilai.
Pendekatan Manual Menggunakan Gelung
Untuk versi pra-Java 8 atau jika penstriman tidak sesuai, pendekatan manual boleh digunakan:
List<Object[]> results; Map<Integer, String> resultsMap = new HashMap<>(); for (Object[] o : results) { resultsMap.put((Integer) o[0], (String) o[1]); }
Pendekatan ini melibatkan lelaran melalui Senarai dan mengekstrak pasangan kunci dan nilai secara manual, yang mungkin kurang cekap daripada pendekatan berasaskan aliran.
Menggunakan Operator Binari untuk Fungsi Bukan Bijektif
Jika fungsi pemetaan bukan bijektif (iaitu, berbilang nilai boleh dipetakan ke kunci yang sama), pengendali binari boleh digunakan untuk menggabungkan nilai kunci pendua. Contohnya, jika kita ingin mencari jumlah nilai untuk setiap kunci unik:
Map<String, Integer> map = intList.stream().collect(toMap(i -> String.valueOf(i % 3), i -> i, Integer::sum));
Di sini, operator binari Integer::sum menyediakan logik untuk menggabungkan nilai kunci pendua.
Kesimpulan
Walaupun pendekatan optimum untuk menukar Senarai kepada Peta bergantung pada spesifik keperluan, menggunakan API Strim dengan Collectors.toMap() disyorkan untuk kecekapan dan ringkasnya. Pendekatan manual boleh digunakan dalam versi Java yang lebih lama atau apabila penstriman tidak berkenaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Senarai Java kepada Peta dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!