Maison >Java >javaDidacticiel >Comment puis-je créer une collection ordonnée de paires de valeurs typées en Java comme un tableau ?

Comment puis-je créer une collection ordonnée de paires de valeurs typées en Java comme un tableau ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-15 09:49:09362parcourir

How Can I Create an Ordered Collection of Typed Value Pairs in Java Like an Array?

Collection Java pour les paires de valeurs : une solution de type tableau

En Java, vous pouvez définir des collections contenant des paires clé-valeur à l'aide de Map . Cependant, vous recherchez une collection où chaque élément est constitué de deux valeurs, chacune avec son propre type, et qui conserve l'ordre d'origine. Cela ressemble effectivement à un tableau avec des types spécifiques pour chaque élément.

Pour répondre à cette exigence, envisagez d'utiliser java.util.Map.Entry. Cette classe vous permet de créer des paires de valeurs individuelles. En créant une List>, vous pouvez stocker une collection ordonnée de paires.

Pour remplir la collection, utilisez AbstractMap.SimpleEntry. Cela vous permet de définir des paires avec des valeurs spécifiques :

Entry<String, Integer> pair1 = new SimpleEntry<>("Not Unique key1", 1);
Entry<String, Integer> pair2 = new SimpleEntry<>("Not Unique key2", 2);

Vous pouvez également sous-classer ArrayList pour encapsuler la création de paires et ajouter une méthode pratique :

public class TupleList<E extends Map.Entry<K, V>> extends ArrayList<E> {
    public static <K, V> TupleList<Map.Entry<K, V>> of(K key, V value) {
        TupleList<Map.Entry<K, V>> list = new TupleList<>();
        list.add(new SimpleEntry<>(key, value));
        return list;
    }
}

Utiliser cette approche , vous pouvez définir et remplir une collection de paires avec des types spécifiques :

TupleList<Map.Entry<String, Integer>> pairList = TupleList.of("Not Unique key1", 1);
pairList.of("Not Unique key2", 2);

Cette solution fournit une structure de type tableau avec paires de valeurs de type sécurisé, évitant la verbosité des classes personnalisées ou le casting requis avec les tableaux 2D.

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!

Déclaration:
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