TreeMap | Java

TreeMap en Java est utilisé pour implémenter l’interface Map et NavigableMap. La map est triée selon l’ordre naturel de ses clés, ou par un comparateur fourni au moment de la création du map, selon le constructeur utilisé. Cela s’avère être un moyen efficace de trier et de stocker les paires clé-valeur.
 
 
Les caractéristiques de la classe TreeMap :

  • La classe TreeMap contient des valeurs basées sur la clé. Il implémente l’interface NavigableMap et étend la classe AbstractMap.
  • La classe TreeMap ne contient que des éléments uniques.
  • La classe TreeMap ne peut pas avoir de clé nulle mais peut avoir plusieurs valeurs nulles.
  • La classe TreeMap n’est pas synchronisé.
  • La classe TreeMap maintient l’ordre croissant.

 

Les constructeurs de la classe TreeMap
Constructeur
Description
TreeMap() Il est utilisé pour construire un TreeMap par défaut.
TreeMap(Comparator<? super K> comparator) Il est utilisé pour construire une tree map vide qui sera triée à l’aide du comparateur spécifié.
TreeMap(Map<? extends K,? extends V> m) Il est utilisé pour initialiser un treemap avec les entrées de m, qui seront triées en utilisant l’ordre naturel des clés.
TreeMap(SortedMap<K,? extends V> m) Il est utilisé pour initialiser un treemap avec les entrées du SortedMap m, qui seront triées dans le même ordre que « m ».

 
 

Les méthodes de la classe TreeMap
Méthode
Description
int size() Cette méthode renvoie le nombre des éléments dans un tree map.
void clear() Il est utilisé pour supprimer tous les éléments d’un tree map.
Object clone() Il est utilisé pour renvoyer une copie superficielle d’une instance d’un TreeMap.
V remove(Object key) Il est utilisé pour supprimer une entrée pour une clé spécifiée.
V put(Object key, Object value) Il est utilisé pour insérer une entrée dans un tree map.
void putAll(Map map) Il est utilisé pour insérer un tree map spécifiée dans le tree map courante.
boolean containsValue(Object value) Cette méthode renvoie true si une valeur égale à une valeur qui existe dans la tree map, sinon retourne false.
boolean containsKey(Object key) Cette méthode renvoie true si une clé égale à une clé qui existe dans la map, sinon retourne false.
V get(Object key) Cette méthode renvoie l’objet qui contient la valeur associée à la clé.
V replace(K key, V value) Il remplace la valeur spécifiée pour une clé spécifiée.
Collection<V> values() Il renvoie une collection des valeurs contenues dans le tree map.
void forEach(BiConsumer<? super K,? super V> action) Il exécute l’action donnée pour chaque entrée d’un tree map jusqu’à ce que toutes les entrées aient été traitées ou que l’action lève une exception.
K firstKey() Il est utilisé pour renvoyer la première clé (la plus basse) dans la map.
K lastKey() Il est utilisé pour renvoyer la dernière clé (la plus haut) dans la map.
NavigableSet navigableKeySet() Il renvoie un ensemble de clés contenues dans cette map.
K lowerKey(K key) Il renvoie la plus grande clé strictement inférieure à la clé donnée, ou null s’il n’y en a pas.
K higherKey(K key) Il est utilisé pour retourner la clé la plus petite strictement supérieure à la clé donnée, ou null s’il n’y a pas une telle clé.
Comparator<? super K> comparator() Il renvoie le comparateur qui arrange la clé dans l’ordre, ou null si la map utilise l’ordre naturel.
Map.Entry firstEntry() Il renvoie la paire clé-valeur ayant la plus petite clé.

 
 

Exemple: TreeMap
import java.util.*;

public class Main{
  
  public static void main(String args[]){
   
    TreeMap<Integer, String> map = new TreeMap<Integer, String>();
    map.put(10, "Java");
    map.put(11, "PHP");
    map.put(12, "Python");
    
    System.out.println("La taille du map est: "+ map.size()); 
  
    //Parcourir les éléments du Map
    for(Map.Entry mp:map.entrySet()){
      System.out.println(mp.getKey()+" "+mp.getValue());
    }
    
    map.remove(11, "PHP");
    System.out.println("Après la suppression: "+map);
  }
}

 
Sortie:

La taille du map est: 3
10 Java
11 PHP
12 Python
Après la suppression: {10=Java, 12=Python}
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *