Comment utiliser la structure de données Java TreeMap

Comment utiliser la structure de données Java TreeMap

La classe Java TreeMap stocke les données dans une structure arborescente à l'aide d'une interface cartographique. Cette classe étend la classe AbstractMap et, comme sa classe parente, TreeMap a deux paramètres de type. L'un de ses paramètres de type représente les clés dans le TreeMap, tandis que l'autre représente les valeurs.





La structure de données TreeMap stocke des paires clé-valeur et vous permet d'effectuer des opérations CRUD sur ces données.





Comment créer un TreeMap en Java

La classe TreeMap a quatre constructeurs que vous pouvez utiliser pour créer un nouvel objet TreeMap. Le constructeur par défaut est le plus populaire des quatre. Ce constructeur ne prend aucun argument et génère une carte arborescente vide.





comment pirater un compte bancaire en ligne
// Create a new tree map 
TreeMap<Integer,String> customers = new TreeMap<Integer,String>();

Le code ci-dessus génère une carte arborescente vide appelée clients .

Remplir la structure de données TreeMap

La mettre() La méthode ajoute un élément à un objet TreeMap. Il prend deux arguments : une clé et sa valeur. Vous pouvez ajouter des éléments à l'arborescence dans n'importe quel ordre aléatoire et la structure de données les stockera dans l'ordre croissant, selon leurs clés.



// Populate a tree map 
customers.put(105, "Jessica Jones");
customers.put(102, "Mark Williams");
customers.put(104, "Phil Blair");
customers.put(101, "Kim Brown");
customers.put(103, "Jim Riley");

Le code ci-dessus ajoute cinq clients, dans un ordre aléatoire, à l'arborescence des clients.

Affichage des éléments dans un TreeMap

La classe TreeMap stocke ses données dans un objet. Ainsi, pour voir tous les éléments d'une arborescence, vous pouvez simplement imprimer l'objet arborescence sur la console :





// View all tree map items as an object 
System.out.println(customers);

Le code ci-dessus imprime la sortie suivante sur la console :

{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Notez que l'objet ci-dessus affiche les éléments par ordre croissant. Vous pouvez également afficher chaque élément et sa clé correspondante à l'aide de une boucle for Java .





// View all items with an iterator 
for (Entry<Integer, String> customer : customers.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}

Le code ci-dessus imprime la sortie suivante sur la console :

Key: 101 Value: Kim Brown 
Key: 102 Value: Mark Williams
Key: 103 Value: Jim Riley
Key: 104 Value: Phil Blair
Key: 105 Value: Jessica Jones

Mise à jour des éléments dans un TreeMap

La classe TreeMap vous permet de mettre à jour un élément existant à l'aide de la remplacer() méthode. Il existe deux méthodes de remplacement. La première méthode prend une clé existante et la nouvelle valeur à laquelle vous souhaitez mapper la clé existante.

// Replace existing value 
customers.replace(101,"Kim Smith");
System.out.println(customers);

Le code ci-dessus imprime l'objet suivant dans la console :

{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Comme tu peux le voir Kim Brun est maintenant Kim Smith . La deuxième méthode replace () prend une clé existante, la valeur actuelle de la clé et la nouvelle valeur que vous souhaitez mapper à la clé.

// Replace existing value 
customers.replace(103,"Jim Riley", "Michelle Noah");
System.out.println(customers);

Le code ci-dessus imprime l'objet suivant dans la console :

{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}

Dans l'objet ci-dessus Michelle Noé remplace Jim Riley .

Suppression d'éléments du TreeMap

Si vous souhaitez supprimer un seul élément de l'arborescence, le retirer() méthode est votre seule option. Il prend la clé associée à l'élément que vous souhaitez supprimer et renvoie la valeur supprimée.

// Remove an item 
customers.remove(104);
System.out.println(customers);

L'exécution du code ci-dessus imprime l'objet suivant dans la console :

{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}

Cette Classe Java possède également un dégager() méthode qui permet de supprimer tous les éléments de l'arborescence.

Windows 10 désactiver le démarrage rapide

Le TreeMap contre la classe Java HashMap

TreeMap et HashMap sont deux des classes de cartes Java les plus populaires. Ils étendent tous les deux la classe AbstractMap. Cette relation donne aux classes TreeMap et HashMap l'accès à un grand nombre des mêmes fonctions.

Cependant, il existe des différences notables entre ces deux classes de cartes. Le TreeMap utilise une implémentation d'arbre rouge-noir de l'interface Map, tandis que le HashMap utilise une table de hachage. HashMap vous permet de stocker une seule clé nulle, contrairement à TreeMap. Enfin, un HashMap est plus rapide qu'un TreeMap. La vitesse algorithmique du premier est O(1) tandis que celle du second est O(log(n)).