NavigableMap является интерфейсом, который расширяет SortedMap и предоставляет дополнительные методы для навигации по отсортированной коллекции.
Он может быть полезен, когда вам нужно работать с отсортированными данными и выполнять операции, такие как поиск ближайшего ключа, меньшего или большего заданного значения, или получение подмножества элементов на основе диапазона ключей.
В этом примере мы используем различные методы навигации, такие как lowerEntry, floorEntry, ceilingEntry и higherEntry, чтобы найти ближайшие ключи к заданному значению. В конце мы создаем подмножество элементов с помощью метода subMap, указывая диапазон ключей.
import java.util.NavigableMap;
import java.util.TreeMap;
public class NavigableMapExample {
static void main(String[] args){
NavigableMap<Integer, String> navigableMap = new TreeMap<>();
navigableMap.put(1, "One");
navigableMap.put(3, "Three");
navigableMap.put(5, "Five");
navigableMap.put(7, "Seven");
System.out.println("NavigableMap: " + navigableMap);
System.out.println(" < 4 " + navigableMap.lowerEntry(4));
System.out.println(" <= 4 " + navigableMap.floorEntry(4));
System.out.println(" >= 4" + navigableMap.ceilingEntry(4));
System.out.println(" > 4" + navigableMap.higherEntry(4));
NavigableMap<Integer, String> subMap = navigableMap.subMap(2, true, 6, true);
System.out.println("SubmapMap 2 to 6 " + subMap);
}
}