Класс TreeMap
Класс TreeMap представляет собой реализацию
интерфейса Map, в которой элементы хранятся
в отсортированном порядке по возрастанию ключей.
В отличие от HashMap, который не гарантирует
порядок элементов, TreeMap всегда поддерживает
сортировку ключей. При добавлении элемента в первый
параметр конструктора мы можем передать компаратор
для задания пользовательского порядка сортировки,
а во второй - другую Map для копирования элементов.
Если компаратор не указан, используется естественный
порядок сортировки ключей.
Синтаксис
TreeMap<KeyType, ValueType> map = new TreeMap<>();
Пример
Давайте создадим TreeMap и добавим в него
несколько элементов в произвольном порядке:
import java.util.TreeMap;
public class Main
{
public static void main(String[] args)
{
TreeMap<String, Integer> map = new TreeMap<>();
map.put("c", 3);
map.put("a", 1);
map.put("d", 4);
map.put("b", 2);
map.put("e", 5);
System.out.println(map);
}
}
Результат выполнения кода:
{a=1, b=2, c=3, d=4, e=5}
Пример
Давайте получим первый и последний ключи отсортированной коллекции:
import java.util.TreeMap;
public class Main
{
public static void main(String[] args)
{
TreeMap<String, Integer> map = new TreeMap<>();
map.put("c", 3);
map.put("a", 1);
map.put("d", 4);
map.put("b", 2);
map.put("e", 5);
System.out.println(map.firstKey());
System.out.println(map.lastKey());
}
}
Результат выполнения кода:
"a"
"e"
Пример
Давайте получим часть коллекции, ключи которой находятся в заданном диапазоне:
import java.util.TreeMap;
public class Main
{
public static void main(String[] args)
{
TreeMap<String, Integer> map = new TreeMap<>();
map.put("c", 3);
map.put("a", 1);
map.put("d", 4);
map.put("b", 2);
map.put("e", 5);
System.out.println(map.subMap("b", "d"));
}
}
Результат выполнения кода:
{b=2, c=3}
Смотрите также
-
метод
put,
который добавляет пару ключ-значение -
метод
get,
который возвращает значение по ключу -
метод
firstEntry,
который возвращает первую пару ключ-значение -
метод
lastEntry,
который возвращает последнюю пару ключ-значение