Rumah >Java >javaTutorial >Tukar ArrayList ke LinkedHashMap di Java

Tukar ArrayList ke LinkedHashMap di Java

Linda Hamilton
Linda Hamiltonasal
2025-02-07 11:16:10226semak imbas

Convert ArrayList to LinkedHashMap in Java

LinkedHashMap di Java mengekalkan urutan penyisipan elemen, tidak seperti hashmap biasa. Menukar ArrayList ke LinkedHashMap memerlukan memberikan kunci kepada setiap elemen ArrayList. Pendekatan paling mudah menggunakan indeks ArrayList sebagai kunci. Kelakuan lelaran dan penyortiran adalah sama antara ArrayLists dan LinkedHashMaps.

Berikut adalah pecahan proses penukaran, bersama -sama dengan contoh kod Java yang menggambarkan pendekatan yang berbeza:

Algoritma:

  1. Inisialisasi: Buat LinkedHashMap kosong.
  2. iteration: melangkah melalui arraylist.
  3. Penciptaan pasangan nilai kunci: Untuk setiap elemen dalam arraylist, gunakan indeksnya sebagai kunci dan elemen itu sendiri sebagai nilai.
  4. penyisipan: Tambahkan pasangan nilai kunci ke LinkedHashMap.
  5. kembali: Kembalikan LinkedHashMap Linked.

Contoh kod java:

Pendekatan 1: Menggunakan gelung

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!

Kenyataan:
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