Quelle est la différence entre HashMap, LinkedHashMap et TreeMap en Java ?
Bonjour à tous ! Je viens de commencer à apprendre Java et j'ai rencontré un problème en travaillant avec les maps. Il existe trois implémentations principales : HashMap, LinkedHashMap et TreeMap. J'ai lu la documentation, mais je ne comprends pas encore complètement quand utiliser laquelle.
Par exemple, j'ai une tâche : je dois stocker une liste d'étudiants avec leur ID (clé — Integer, valeur — String). J'ai écrit ce code :
Map<Integer, String> students = new HashMap<>();
students.put(3, "Anna");
students.put(1, "Ivan");
students.put(2, "Maria");
System.out.println(students);
Le résultat s'est avéré non ordonné : {1=Ivan, 2=Maria, 3=Anna}. Pourquoi l'ordre ne correspond-il pas à l'ordre d'insertion ? Et que se passera-t-il si je remplace HashMap par LinkedHashMap ou TreeMap ?
J'ai aussi entendu dire qu'ils ont des performances différentes. Dans quelles situations HashMap est-il plus rapide, et quand est-il préférable d'utiliser TreeMap ? Et comment fonctionnent-ils avec les clés null ?
Je serais reconnaissant pour une explication détaillée avec des exemples, afin que je puisse
No answers yet.
Connectez-vous pour laisser une réponse