TreeMap

In this chapter you will learn:

  1. What is Java TreeMap and how to use TreeMap
  2. A demo for TreeMap

TreeMap class

The TreeMap class extends AbstractMap and implements the NavigableMap interface.

It creates maps stored in a tree structure.

A tree map guarantees that its elements will be sorted in an order. TreeMap is a generic class that has this declaration:

class TreeMap<K, V>
  • K specifies the type of keys
  • V specifies the type of values.

The following TreeMap constructors are defined:

  • TreeMap( ) constructs an empty tree map.
  • TreeMap(Comparator<? super K> comp) constructs an empty tree-based map using the Comparator comp.
  • TreeMap(Map<? extends K, ? extends V> m) initializes a tree map with the entries from m.
  • TreeMap(SortedMap<K, ? extends V> sm) initializes a tree map with the entries from SortedMap.

TreeMap has no methods beyond those specified by the NavigableMap interface and the AbstractMap class.

Put TreeMap to work

The following code sorts a map's entries according to the natural ordering of their String-based keys

import java.util.Map;
import java.util.TreeMap;
//from  ja v  a 2  s.c o  m
public class Main {
  public static void main(String[] args) {
    Map<String, Integer> msi = new TreeMap<String, Integer>();
    String[] fruits = { "apples", "pears", "grapes", "bananas", "kiwis" };
    int[] quantities = { 10, 15, 8, 17, 30 };
    for (int i = 0; i < fruits.length; i++){
      msi.put(fruits[i], quantities[i]);
    }      
    for (Map.Entry<String, Integer> entry : msi.entrySet()){
      System.out.println(entry.getKey() + ": " + entry.getValue());
    }      
  }
}

The output:

From the output we can see that the key-value pairs are ordered by the key value.

Next chapter...

What you will learn in the next chapter:

  1. How to get first key in TreeMap
  2. How to get the last key in a TreeMap
  3. How to get key relative a give value
  4. How to get least key value relative to a key value
Home » Java Tutorial » Map
Map interface
Map element adding
Map.Entry class
Map key
Map value
Map key/value search
Map delete/remove
Map comparison
HashMap Class
HashMap search
HashMap clone
TreeMap
TreeMap key
TreeMap head sub map
TreeMap tail sub map
TreeMap sub map
NavigableMap
NavigableMap key
NavigableMap key-value pair
LinkedHashMap Class
IdentityHashMap
SortedMap