Maison > Java > javaDidacticiel > Comment initialiser efficacement un HashMap en Java ?

Comment initialiser efficacement un HashMap en Java ?

Susan Sarandon
Libérer: 2024-12-17 20:18:11
original
1044 Les gens l'ont consulté

How to Efficiently Initialize a HashMap in Java?

Comment initialiser un HashMap directement et de manière concise

De nombreux développeurs Java souhaitent un moyen simple d'initialiser un HashMap avec des paires clé-valeur. Malheureusement, la bibliothèque standard de Java ne dispose pas d'une syntaxe qui s'adapte directement à cela.

Java Versions 9 et supérieures

Cependant, pour Java 9 et versions ultérieures, il y a de bonnes nouvelles ! De nouvelles méthodes d'usine ont été introduites pour simplifier la création de cartes :

  • Map.of : accepte jusqu'à 10 paires clé-valeur sous la forme de Map.of("key1", "value1", "key2", "value2", ...)
  • Map.ofEntries : gère n'importe quel nombre d'entrées en utilisant Map.ofEntries(entry("key1", "value1"), Entry("key2", "value2"), ...)

Exemple :

// Using Map.of for up to 10 elements
Map<String, String> test1 = Map.of("a", "b", "c", "d");

// Using Map.ofEntries for any number of elements
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));
Copier après la connexion

Java Versions 8 et inférieures

Pour les versions Java antérieures, vous devrez ajouter manuellement chaque élément. Voici une option légèrement plus concise utilisant un initialiseur de sous-classe anonyme :

Exemple :

Map<String, String> myMap = new HashMap<>() {{
    put("a", "b");
    put("c", "d");
}};
Copier après la connexion

Remarque :

  • Cette approche crée une classe supplémentaire, affectant potentiellement la mémoire et les performances.
  • Elle peut contenir une référence au créer un objet, empêcher le garbage collection.

Une alternative impliquant une fonction :

Exemple :

Map<String, String> myMap = createMap();

private static Map<String, String> createMap() {
    Map<String,String> myMap = new HashMap<>();
    myMap.put("a", "b");
    myMap.put("c", "d");
    return myMap;
}
Copier après la connexion

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal