Поиск ближайшего значения в TreeMap

Интерфейс java.util.Map рассчитан на получение значения по ключу и вставку связи значения с ключом. У него есть наследник java.util.SortedMap, который используется специально для упорядоченных значений, у которого в свою очередь есть наследник java.util.NavigableMap. В этой статье мы поговорим именно о нём, а точнее о его методах lowerEntry, floorEntry, ceilingEntry, и higherEntry. Эти методы используются для получения связки ключ-значение, которая в соответствии с порядком сортировки меньше, меньше или равна, больше или равна, или строго больше, чем переданное значение ключа. Причём берётся ближайшее значение, удовлетворяющее этому условию.

Приведу пример, чтобы было лучше запомнить:

Так же есть аналогичные методы для получения ключей, а не экземпляров Entry: lowerKey, floorKey, ceilingKey, higherKey.

Мне, честно говоря, ни один из этих методов ещё ни разу в жизни не пригодился, но это вполне могут спросить на собеседованиях, да и знать о существовании подобных готовых методов не помешает.


Поделиться:

Добавить комментарий

Ваш e-mail не будет опубликован.

*