Java - Comment obtenir une sublist de TreeMap

 Dans l'exemple ci-dessous on va voir comment obtenir à partir d'une TreeMap une nouvelle sous TreeMap triée en utilisant la méthode subMap() de la classe TreeMap.

subMap(K fromKey, K toKey)

Exemple:

import java.util.*;

class TreeMapSub {

public static void main(String args[]) {

TreeMap treemap = new TreeMap();

// elements
treemap.put("a", "e4");
treemap.put("b", "e5");
treemap.put("c", "e1");
treemap.put("d", "e3");
treemap.put("e", "e2");

System.out.println("Avant:");

/* parcourir la TreeMap non triée avec Iterator */

Set set = treemap.entrySet();
Iterator i = set.iterator();
// Afficher les éléments
while(i.hasNext()) {
Map.Entry entry = (Map.Entry)i.next();
System.out.print(entry.getKey() + " : ");
System.out.println(entry.getValue());
}

System.out.println("Après:");

// appeler la méthode subMap()
SortedMap subM = treemap.subMap("a","d");

/* parcourir la sous map avec Iterator */

set = subM.entrySet();
i = set.iterator();
// Afficher les éléments
while(i.hasNext()) {
Map.Entry entry = (Map.Entry)i.next();
System.out.print(entry.getKey() + " : ");
System.out.println(entry.getValue());
}

}
}

Exécution

Avant:
a : e4
b : e5
c : e1
d : e3
e : e2
Après:
a : e4
b : e5
c : e1

Références
java.util.TreeMap.subMap() Method