Une collection complète pour les paires de valeurs : présentation de Map.Entry et SimpleEntry de Java
En Java, lors de la définition d'une collection où chaque élément comprend un paire de valeurs avec des types distincts, une Map est couramment utilisée. Cependant, pour les scénarios où le maintien de l'ordre des éléments est crucial et où l'unicité n'est pas un problème, il existe une alternative intéressante : l'interface Map.Entry de Java et son implémentation, SimpleEntry.
Map.Entry et SimpleEntry : A Pair Perfection
Map.Entry fournit un cadre pour représenter une association clé-valeur individuelle au sein d'une carte. Il possède deux paramètres de type génériques,
Création et utilisation de paires de valeurs
Pour établir une paire de valeurs, instanciez un objet SimpleEntry, en spécifiant les types de la clé et de la valeur. Par exemple :
Map.Entry<String, Integer> pair1 = new SimpleEntry<>("Key 1", 10);
Vous pouvez également exploiter la fonctionnalité varargs (arguments de longueur variable) de Java pour créer plusieurs paires sur une seule ligne :
var pairList = List.of( new SimpleEntry<>("Key 1", 10), new SimpleEntry<>("Key 2", 20) );
Exploiter les génériques et Sous-classement
Pour améliorer encore la lisibilité et la maintenabilité, vous pouvez adopter les génériques et les sous-classes. Créez une classe TupleList qui étend ArrayList
class TupleList<T extends Map.Entry<K, V>> extends ArrayList<T> { public TupleList<T> of(K key, V value) { add(new SimpleEntry<>(key, value)); return this; } }
Avec cette extension élégante, vous pouvez rapidement construire des paires de valeurs à l'aide d'une syntaxe intuitive :
TupleList<Map.Entry<String, Integer>> pair = new TupleList<>(); pair.of("Key 1", 10); pair.of("Key 2", 20);
Conclusion
Map.Entry et SimpleEntry de Java fournissent un mécanisme polyvalent pour stocker et manipuler des paires de valeurs. Leur flexibilité et leur facilité d'utilisation en font un excellent choix pour les scénarios dans lesquels l'ordre et les types distincts jouent un rôle important. En tirant parti des techniques génériques et de sous-classement, vous pouvez simplifier davantage votre code et atteindre un niveau de clarté de code qui dément leur complexité sous-jacente.
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!