Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menukar Senarai Java kepada Peta Menggunakan Strim dengan Cekap?
Di Jawa, menukar Senarai kepada Peta menawarkan beberapa faedah, termasuk pengambilan data yang cekap, organisasi berstruktur dan perwakilan ringkas. Artikel ini meneroka pendekatan optimum untuk menukar Senarai kepada Peta.
Pendekatan Penukaran Optimum
Dengan pengenalan Java 8, proses penukaran telah dipermudahkan dengan ketara menggunakan aliran dan kelas Pengumpul. Pendekatan berikut menunjukkan cara untuk mencapai penukaran senarai ke peta dalam satu baris:
Map<String, Item> map = list.stream().collect(Collectors.toMap(Item::getKey, item -> item));
Faedah Pendekatan Java 8
Pendekatan ini menawarkan beberapa kelebihan :
Demonstrasi Kod
Coretan kod berikut memberikan contoh menggunakan strim untuk menukar objek Senarai Item kepada Peta:
import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Test { public static void main(String[] args) { List<Item> list = Arrays.asList(new Item(1), new Item(2), new Item(3), new Item(4)); Map<String, Item> map = list.stream() .collect(Collectors.toMap(Item::getKey, item -> item)); map.forEach((k, v) -> System.out.println(k + " => " + v)); } } class Item { private final int i; public Item(int i) { this.i = i; } public String getKey() { return "Key-" + i; } @Override public String toString() { return "Item [i=" + i + "]"; } }
Output:
Key-1 => Item [i=1] Key-2 => Item [i=2] Key-3 => Item [i=3] Key-4 => Item [i=4]
Mengendalikan Kekunci Pendua
Dalam kes di mana nilai kunci pendua wujud dalam Senarai, anda boleh menentukan operator gabungan apabila menggunakan kaedah Collectors.toMap. Operator ini menentukan cara kunci pendua dikendalikan. Sebagai contoh, untuk menjumlahkan nilai yang dikaitkan dengan kunci pendua, anda akan menggunakan operator berikut:
Map<String, Integer> map = intList.stream() .collect(Collectors.toMap(i -> String.valueOf(i % 3), i -> i, Integer::sum));
Ini akan menghasilkan:
0 => 9 (i.e. 3 + 6) 1 => 5 (i.e. 1 + 4) 2 => 7 (i.e. 2 + 5)
Kesimpulan
Menggunakan strim dan kelas Pengumpul menyediakan kaedah yang cekap dan ringkas untuk menukar Senarai kepada Peta dalam Java. Pendekatan ini memudahkan proses penukaran dan menawarkan fleksibiliti tambahan dalam mengendalikan kunci pendua.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Senarai Java kepada Peta Menggunakan Strim dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!