SrcForge

Lesson 39

TreeMap and TreeSet

TreeMap and TreeSet auto-sort data using Red-Black Tree.

Java Track

Save progress as you learn.

61 lessons

Lesson content

TreeMap and TreeSet auto-sort. Based on Red-Black Tree.

Key Terms

  • TreeMap: Sorted key-value pairs.
  • TreeSet: Sorted unique elements.
  • Natural Ordering: Default sort, ascending.
  • Red-Black Tree: Internal self-balancing structure.

Example: TreeMap

import java.util.TreeMap;

public class TreeMapExample {
    public static void main(String[] args) {
        TreeMap<Integer, String> students = new TreeMap<>();
        students.put(103, "David");
        students.put(101, "John");
        students.put(102, "Alice");
        System.out.println(students);
    }
}
{101=John, 102=Alice, 103=David}

TreeMap Methods

map.put(101, "John");    // add
map.get(101);            // retrieve
map.remove(101);         // delete
map.firstKey();          // smallest key
map.lastKey();           // largest key
map.containsKey(101);    // check key

Example: TreeSet

import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        TreeSet<String> fruits = new TreeSet<>();
        fruits.add("Mango");
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Apple");
        System.out.println(fruits);
    }
}
[Apple, Banana, Mango]

TreeSet Methods

set.add("Java");       // add
set.remove("Java");    // remove
set.contains("Java");  // check
set.first();           // smallest
set.last();            // largest
set.size();            // count

Iterating TreeMap

for (var entry : students.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

FAQ

1. TreeMap vs TreeSet?

TreeMap: sorted key-value. TreeSet: sorted unique values.

2. TreeSet allow duplicates?

No. Auto-removed.

3. TreeMap vs HashMap?

TreeMap sorted. HashMap faster, no order.

TreeMap auto-sorts by keys.
TreeSet auto-sorts unique values.
Both use Red-Black Tree internally.
TreeMap: no null keys.
TreeSet: no null values.
Slower than HashMap/HashSet.
Use when sorted order required.

Where Java is used

Java in real-world development

TreeMap

Sorted key-value pairs. No null keys. firstKey() and lastKey() available.

TreeSet

Sorted unique elements. No duplicates. No null values.

TreeMap vs HashMap

TreeMap sorted. HashMap faster. No null key in TreeMap.

TreeSet vs HashSet

TreeSet sorted. HashSet faster. Both no duplicates.

Use TreeMap When

Keys must stay sorted. Range queries needed.

Use TreeSet When

Unique sorted values needed. No duplicates.

Prev: HashMap and HashSetBack to hub