Rumah >Java >javaTutorial >Tukar ArrayList ke LinkedHashMap di Java
Berikut adalah pecahan proses penukaran, bersama -sama dengan contoh kod Java yang menggambarkan pendekatan yang berbeza:
Algoritma:
Contoh kod java:
Ini adalah pendekatan yang paling mudah.
<code class="language-java">import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public class ArrayListToLinkedHashMap { public static <t> LinkedHashMap<integer t> convert(List<t> arrayList) { LinkedHashMap<integer t> linkedHashMap = new LinkedHashMap<>(); for (int i = 0; i < arrayList.size(); i++) { linkedHashMap.put(i + 1, arrayList.get(i)); //Index +1 as key } return linkedHashMap; } public static void main(String[] args) { List<integer> arrayList = new ArrayList<>(List.of(5, 16, 7, 1997, 2001)); LinkedHashMap<integer integer> linkedHashMap = convert(arrayList); System.out.println("LinkedHashMap: " + linkedHashMap); } }</integer></integer></integer></t></integer></t></code>Pendekatan 2: Menggunakan aliran Java
Pendekatan ini memanfaatkan aliran Java untuk penyelesaian yang lebih ringkas.
Kedua -dua pendekatan mencapai hasil yang sama, menukar arraylist ke LinkedHashMap di mana kunci adalah indeks (bermula dari 1) dan nilai -nilai adalah unsur -unsur dari arraylist. Pilih pendekatan yang paling sesuai dengan gaya pengekodan dan keperluan projek anda. Pendekatan aliran umumnya dianggap lebih elegan dan berpotensi lebih cekap untuk senarai yang lebih besar. Ingatlah untuk mengendalikan pengecualian yang berpotensi (seperti
<code class="language-java">import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.IntStream; public class ArrayListToLinkedHashMapStreams { public static <t> LinkedHashMap<integer t> convert(List<t> arrayList) { return IntStream.range(0, arrayList.size()) .boxed() .collect(Collectors.toMap(i -> i + 1, arrayList::get, (a, b) -> a, LinkedHashMap::new)); } public static void main(String[] args) { List<integer> arrayList = new ArrayList<>(List.of(5, 16, 7, 1997, 2001)); LinkedHashMap<integer integer> linkedHashMap = convert(arrayList); System.out.println("LinkedHashMap: " + linkedHashMap); } }</integer></integer></t></integer></t></code>) jika arraylist anda mungkin mengandungi nilai null.
Atas ialah kandungan terperinci Tukar ArrayList ke LinkedHashMap di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!