Какие основные различия между методами headMap(), tailMap() и subMap() в интерфейсе NavigableMap, и как каждый из них работает, чтобы вернуть определённые подмножества записей из карты? — ДейлиПреп