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

Tukar ArrayList ke LinkedHashMap di Java

Linda Hamilton
Lepaskan: 2025-02-07 11:16:10
asal
225 orang telah melayarinya

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. ​​

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);
    }
}
Salin selepas log masuk
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
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);
    }
}
Salin selepas log masuk
) 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!

Label berkaitan:
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
Isu terkini
Bolehkah java digunakan sebagai bahagian belakang web?
daripada 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
daripada 1970-01-01 08:00:00
0
0
0
Pasang JAVA
daripada 1970-01-01 08:00:00
0
0
0
Bagaimanakah php melaksanakan penyulitan sha1 java?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan