Інтерфейс SortedMap розширює Map для збереження пар у порядку зростання ключа.
SortedMap має своє втілення у різних класах. Наприклад, у TreeMap.
Методи SortedMap-
comparator() — повертає порівнювач (Comparator), згідно з яким проведено упорядкування. Якщо використано природний порядок, буде повернуто null.
-
firstKey() — повертає об'єкт — перший (найменший) ключ.
-
headMap(j) — повертає упорядковане відображення (клас SortedMap) з парами, у яких ключ менший, ніж j.
-
lastKey() — повертає об'єкт — останній (найбільший) ключ.
-
subMap(j, k) — повертає частину упорядкованої множини (SortedMap), що містить пари з ключами, які більші або рівні j і менше, ніж k.
-
tailMap(j) — повертає частину упорядкованої множини (SortedMap), що містить ці записи з ключами, які більші або рівні j.
Деякі методи викликають вийнятки:-
NoSuchElementException, якщо відображення немає елементів;
-
ClassCastException, якщо об'єкт несумісний з елементами відображення;
-
NullPointerException при спробі використати nill, що не дозволено для даного відображення.
Див. приклад коду
package work;
import java.util.*;
public class Work
{ public static void main(String args[])
{ TreeMap<String,Integer> m = new TreeMap<>();
m.put("d", 1);
m.put("c", 2);
m.put("b", 3);
m.put("a", 4);
Set s = m.entrySet();
Iterator i = s.iterator();
while (i.hasNext())
{ Map.Entry me = (Map.Entry) i.next();
System.out.println(me.getKey()+" : "+ me.getValue());
}
System.out.print(m.firstKey()+"..."+ m.lastKey()+"\n"+
m.headMap("c")+"\n"+
m.subMap("b", "d")+"\n"+
m.tailMap("c")+"\n"+
m.comparator());
}
}
з таким виведенням.
a : 4
b : 3
c : 2
d : 1
a...d
{a=4, b=3}
{b=3, c=2}
{c=2, d=1}