Java - La classe TreeMap

La classe TreeMap implementa l'interfaccia Map utilizzando un albero. Una TreeMap fornisce un mezzo efficiente per memorizzare le coppie chiave / valore in ordine ordinato e consente un rapido recupero.

Dovresti notare che, a differenza di una mappa hash, una mappa ad albero garantisce che i suoi elementi saranno ordinati in ordine crescente di chiavi.

Di seguito è riportato l'elenco dei costruttori supportati dalla classe TreeMap.

Sr.No. Costruttori e descrizione
1

TreeMap( )

Questo costruttore costruisce una mappa ad albero vuota che verrà ordinata utilizzando l'ordine naturale delle sue chiavi.

2

TreeMap(Comparator comp)

Questo costruttore costruisce una mappa vuota basata su albero che verrà ordinata utilizzando Comparator comp.

3

TreeMap(Map m)

Questo costruttore inizializza una mappa ad albero con le voci da m, che verrà ordinato utilizzando l'ordine naturale delle chiavi.

4

TreeMap(SortedMap sm)

Questo costruttore inizializza una mappa ad albero con le voci da SortedMap sm, che verrà ordinato nello stesso ordine di sm.

Oltre ai metodi ereditati dalle sue classi madri, TreeMap definisce i seguenti metodi:

Sr.No. Metodo e descrizione
1

void clear()

Rimuove tutte le mappature da questa TreeMap.

2

Object clone()

Restituisce una copia superficiale di questa istanza di TreeMap.

3

Comparator comparator()

Restituisce il comparatore utilizzato per ordinare questa mappa o null se questa mappa utilizza l'ordine naturale delle sue chiavi.

4

boolean containsKey(Object key)

Restituisce vero se questa mappa contiene una mappatura per la chiave specificata.

5

boolean containsValue(Object value)

Restituisce vero se questa mappa mappa una o più chiavi sul valore specificato.

6

Set entrySet()

Restituisce una vista di insieme delle mappature contenute in questa mappa.

7

Object firstKey()

Restituisce il primo tasto (il più basso) attualmente in questa mappa ordinata.

8

Object get(Object key)

Restituisce il valore a cui questa mappa mappa la chiave specificata.

9

SortedMap headMap(Object toKey)

Restituisce una visualizzazione della parte di questa mappa le cui chiavi sono strettamente inferiori a toKey.

10

Set keySet()

Restituisce una vista Set delle chiavi contenute in questa mappa.

11

Object lastKey()

Restituisce l'ultima chiave (la più alta) attualmente in questa mappa ordinata.

12

Object put(Object key, Object value)

Associa il valore specificato alla chiave specificata in questa mappa.

13

void putAll(Map map)

Copia tutte le mappature dalla mappa specificata a questa mappa.

14

Object remove(Object key)

Rimuove la mappatura per questa chiave da questa TreeMap, se presente.

15

int size()

Restituisce il numero di mappature valore-chiave in questa mappa.

16

SortedMap subMap(Object fromKey, Object toKey)

Restituisce una visualizzazione della parte di questa mappa le cui chiavi vanno da fromKey, inclusive, a toKey, exclusive.

17

SortedMap tailMap(Object fromKey)

Restituisce una visualizzazione della parte di questa mappa le cui chiavi sono maggiori o uguali a fromKey.

18

Collection values()

Restituisce una vista della raccolta dei valori contenuti in questa mappa.

Esempio

Il seguente programma illustra molti dei metodi supportati da questa raccolta:

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"));
   }
}

Questo produrrà il seguente risultato:

Produzione

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

Zara's new balance: 4434.34