Java - L'interface SortedMap

L'interface SortedMap étend Map. Il garantit que les entrées sont conservées dans un ordre croissant de clé.

Plusieurs méthodes lèvent une NoSuchElementException lorsqu'aucun élément n'est dans la carte d'appel. Une ClassCastException est levée lorsqu'un objet est incompatible avec les éléments d'une carte. Une NullPointerException est levée si une tentative d'utilisation d'un objet null est effectuée lorsque null n'est pas autorisé dans la carte.

Les méthodes déclarées par SortedMap sont résumées dans le tableau suivant -

N ° Sr. Méthode et description
1

Comparator comparator( )

Renvoie le comparateur de la carte triée qui appelle. Si l'ordre naturel est utilisé pour l'appel de la carte, null est renvoyé.

2

Object firstKey( )

Renvoie la première clé de la carte appelante.

3

SortedMap headMap(Object end)

Renvoie une carte triée pour les entrées de carte dont les clés sont inférieures à la fin.

4

Object lastKey( )

Renvoie la dernière clé de la carte appelante.

5

SortedMap subMap(Object start, Object end)

Renvoie une mappe contenant ces entrées avec des clés supérieures ou égales à début et inférieures à fin.

6

SortedMap tailMap(Object start)

Renvoie une carte contenant ces entrées avec des clés supérieures ou égales à start.

Exemple

SortedMap a son implémentation dans diverses classes comme TreeMap. Voici l'exemple pour expliquer la fonction de SortedMap -

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