Heim > Java > javaLernprogramm > Konvertieren Sie ArrayList in LinkedHasMap in Java

Konvertieren Sie ArrayList in LinkedHasMap in Java

Linda Hamilton
Freigeben: 2025-02-07 11:16:10
Original
197 Leute haben es durchsucht

Convert ArrayList to LinkedHashMap in Java

Eine LinkedHasMap in Java behält im Gegensatz zu einem regulären Hashmap die Einfügungsreihenfolge von Elementen bei. Durch das Konvertieren einer ArrayList in eine LinkedHashMap muss jedes ArrayList -Element Schlüssel zugewiesen werden. Der einfachste Ansatz verwendet den ArrayList -Index als Schlüssel. Iteration und Sortierverhalten sind zwischen Arraylisten und LinkedHashMaps ähnlich.

Hier ist eine Aufschlüsselung des Konvertierungsprozesses zusammen mit Java -Code -Beispielen, die verschiedene Ansätze veranschaulichen:

Algorithmus:

  1. Initialisierung: Erstellen Sie eine leere LinkedHasMap.
  2. Iteration: durch die ArrayList iterieren.
  3. Schlüsselwertpaarerstellung: Verwenden Sie für jedes Element in der ArrayList seinen Index als Schlüssel und das Element selbst als Wert.
  4. Insertion: Fügen Sie das Schlüsselwertpaar zum LinkedHashMap hinzu.
  5. return: Rückgabe des besiedelten LinkedHasMap.

Java -Code -Beispiele:

Ansatz 1: Verwenden einer Schleife

Dies ist der einfachste Ansatz.

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);
    }
}
Nach dem Login kopieren

Ansatz 2: Verwenden von Java -Streams

Dieser Ansatz nutzt Java -Streams für eine prägnantere Lösung.

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);
    }
}
Nach dem Login kopieren

Beide Ansätze erzielen das gleiche Ergebnis und konvertieren eine ArrayList in eine LinkedHasMap, bei der die Schlüssel die Indizes sind (ab 1) und die Werte die Elemente der ArrayList. Wählen Sie den Ansatz aus, der Ihren Codierungsstil und Projektanforderungen am besten entspricht. Der Streams -Ansatz wird allgemein als eleganter und potenziell effizienter für größere Listen angesehen. Denken Sie daran, potenzielle Ausnahmen zu behandeln (wie NullPointerException), wenn Ihre ArrayList möglicherweise Nullwerte enthält.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie ArrayList in LinkedHasMap in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage