Java - La classe TreeMap

La classe TreeMap implémente l'interface Map à l'aide d'une arborescence. Un TreeMap fournit un moyen efficace de stocker les paires clé / valeur dans un ordre trié et permet une récupération rapide.

Vous devez noter que, contrairement à une carte de hachage, une carte d'arbre garantit que ses éléments seront triés dans un ordre de clé croissant.

Voici la liste des constructeurs pris en charge par la classe TreeMap.

N ° Sr. Constructeurs et description
1

TreeMap( )

Ce constructeur construit une carte d'arbre vide qui sera triée en utilisant l'ordre naturel de ses clés.

2

TreeMap(Comparator comp)

Ce constructeur construit une carte vide basée sur une arborescence qui sera triée à l'aide de la compilation Comparator.

3

TreeMap(Map m)

Ce constructeur initialise une arborescence avec les entrées de m, qui seront triés en utilisant l'ordre naturel des clés.

4

TreeMap(SortedMap sm)

Ce constructeur initialise une arborescence avec les entrées de SortedMap sm, qui sera trié dans le même ordre que sm.

Outre les méthodes héritées de ses classes parentes, TreeMap définit les méthodes suivantes -

N ° Sr. Méthode et description
1

void clear()

Supprime tous les mappages de cette TreeMap.

2

Object clone()

Renvoie une copie superficielle de cette instance de TreeMap.

3

Comparator comparator()

Renvoie le comparateur utilisé pour ordonner cette carte, ou null si cette carte utilise l'ordre naturel de ses clés.

4

boolean containsKey(Object key)

Renvoie true si cette carte contient un mappage pour la clé spécifiée.

5

boolean containsValue(Object value)

Renvoie true si cette carte mappe une ou plusieurs clés à la valeur spécifiée.

6

Set entrySet()

Renvoie une vue d'ensemble des mappages contenus dans cette carte.

sept

Object firstKey()

Renvoie la première clé (la plus basse) actuellement dans cette carte triée.

8

Object get(Object key)

Renvoie la valeur à laquelle cette carte mappe la clé spécifiée.

9

SortedMap headMap(Object toKey)

Renvoie une vue de la partie de cette carte dont les clés sont strictement inférieures à toKey.

dix

Set keySet()

Renvoie une vue d'ensemble des clés contenues dans cette carte.

11

Object lastKey()

Renvoie la dernière clé (la plus élevée) actuellement dans cette carte triée.

12

Object put(Object key, Object value)

Associe la valeur spécifiée à la clé spécifiée dans cette mappe.

13

void putAll(Map map)

Copie tous les mappages de la carte spécifiée sur cette carte.

14

Object remove(Object key)

Supprime le mappage de cette clé de cette TreeMap si elle est présente.

15

int size()

Renvoie le nombre de mappages clé-valeur dans cette carte.

16

SortedMap subMap(Object fromKey, Object toKey)

Renvoie une vue de la partie de cette carte dont les clés vont de fromKey, inclus, à toKey, exclusif.

17

SortedMap tailMap(Object fromKey)

Renvoie une vue de la partie de cette carte dont les clés sont supérieures ou égales à fromKey.

18

Collection values()

Renvoie une vue de collection des valeurs contenues dans cette carte.

Exemple

Le programme suivant illustre plusieurs des méthodes prises en charge par cette collection -

import java.util.*;
public class TreeMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      TreeMap tm = new TreeMap();
      
      // Put elements to the map
      tm.put("Zara", new Double(3434.34));
      tm.put("Mahnaz", new Double(123.22));
      tm.put("Ayan", new Double(1378.00));
      tm.put("Daisy", new Double(99.22));
      tm.put("Qadir", new Double(-19.08));
      
      // Get a set of the entries
      Set set = tm.entrySet();
      
      // Get an iterator
      Iterator i = set.iterator();
      
      // Display elements
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
      
      // Deposit 1000 into Zara's account
      double balance = ((Double)tm.get("Zara")).doubleValue();
      tm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + tm.get("Zara"));
   }
}

Cela produira le résultat suivant -

Production

Ayan: 1378.0
Daisy: 99.22
Mahnaz: 123.22
Qadir: -19.08
Zara: 3434.34

Zara's new balance: 4434.34