Maison > Java > javaDidacticiel > Convertir ArrayList en LinkedHashmap à Java

Convertir ArrayList en LinkedHashmap à Java

Linda Hamilton
Libérer: 2025-02-07 11:16:10
original
230 Les gens l'ont consulté

Convert ArrayList to LinkedHashMap in Java

Un liendhashmap à Java maintient l'ordre d'insertion des éléments, contrairement à un hashmap régulier. La conversion d'un ArrayList en un liendhashmap nécessite d'attribuer des clés à chaque élément ArrayList. L'approche la plus simple utilise l'index ArrayList comme clé. L'itération et les comportements de tri sont similaires entre les listes de table et les hashmaps liés.

Voici une ventilation du processus de conversion, ainsi que des exemples de code Java illustrant différentes approches:

Algorithme:

  1. Initialisation: Créez un liendhashmap vide.
  2. itération: itérer via la liste Array.
  3. Création de paires de valeurs de clé: Pour chaque élément de l'arrayList, utilisez son index comme clé et l'élément lui-même comme valeur.
  4. Insertion: Ajoutez la paire de valeurs de clé au liendhashmap.
  5. Retour: Renvoie le liendhashmap peuplé.

Exemples de code java:

Approche 1: Utilisation d'une boucle

C'est l'approche la plus simple.

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);
    }
}
Copier après la connexion

Approche 2: Utilisation des flux Java

Cette approche exploite les flux Java pour une solution plus concise.

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);
    }
}
Copier après la connexion

Les deux approches obtiennent le même résultat, convertissant une liste d'array en un liendhashmap où les clés sont les indices (à partir de 1) et les valeurs sont les éléments de la liste Array. Choisissez l'approche qui convient le mieux à votre style de codage et à vos exigences de projet. L'approche des cours d'eau est généralement considérée comme plus élégante et potentiellement plus efficace pour les listes plus grandes. N'oubliez pas de gérer les exceptions potentielles (comme NullPointerException) si votre arraylist peut contenir des valeurs nulles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Derniers numéros
Impossible d'installer Java
Depuis 1970-01-01 08:00:00
0
0
0
Java peut-il être utilisé comme backend du Web ?
Depuis 1970-01-01 08:00:00
0
0
0
Installer JAVA
Depuis 1970-01-01 08:00:00
0
0
0
Aide : Données chiffrées JAVA Décryptage PHP
Depuis 1970-01-01 08:00:00
0
0
0
Est-ce en langage Java ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal