Клас TreeMap реалізує інтерфейс Map з використанням дерева.

Це забезпечує ефективне зберігання пар ключ/значення у порядку зростання ключа та швидке вилучення даних. На відміну від HashMap, TreeMap гарантують, що її елементи будуть відсортовані в порядку зростання ключа.

Конструктори TreeMap Методи TreeMap
(додатково до методів, успадкованих від батьківських класів) Див. приклад коду
package work;
import java.util.*;
public class Work
{ public static void main(String args[])
  { TreeMap t = new TreeMap();
    t.put("e", 0);
    t.put("d", 1);
    t.put("c", 2);
    t.put("b", 3);
    t.put("a", 4);
    System.out.println(t.size()+"\n"+t+"\n"+
      t.keySet()+"\n"+t.values()+ "\n"+
      t.firstKey()+"   "+t.lastKey()+"\n"+
      t.subMap("b","d")+"   "+t.tailMap("c"));
    if (t.containsKey("c")) {System.out.println("Є ключ \"с\"");}
    else                    {System.out.println("Ключа \"с\" немає");}
    if (t.containsKey("x")) {System.out.println("Є ключ \"x\"");}
    else                    {System.out.println("Ключа \"x\" немає");}
    if (t.containsValue(4)) {System.out.println("Є значення 4");}
    else                    {System.out.println("Значення 4 немає");}
    if (t.containsValue(5)) {System.out.println("Є значення 5");}
    else                    {System.out.println("значення 5 немає");}
    System.out.println("Вилучено пару з ключем \"c\" і значенням "+t.remove("c"));
    Set s = t.entrySet();
    Iterator i = s.iterator();
    while(i.hasNext())
    { Map.Entry m = (Map.Entry) i.next();
      System.out.println(m.getKey()+":"+m.getValue());
    }
  }  
}
з таким виведенням
5
{a=4, b=3, c=2, d=1, e=0}
[a, b, c, d, e]
[4, 3, 2, 1, 0]
a   e
{b=3, c=2}   {c=2, d=1, e=0}
Є ключ "с"
Ключа "x" немає
Є значення 4
значення 5 немає
Вилучено пару з ключем "c" і значенням 2
a:4
b:3
d:1
e:0