Интерфейс SortedSet и интерфейс Comparator

Интерфейс SortedSet описывает множество, элементы которого могут быть упорядочены по некоторому принципу, например в соответствии с естественным порядком его элементов. Элементы множества не проиндексированы, но существует понятие большего и меньшего элемента.

first() и last() возвращают первый и последний элементы множества.

subSet(Object fromElement, Object toElement) возвращает подмножество упорядоченного множества, содержащее элементы, большие fromElement (включая его самого) и меньше toElement. У этого метода есть две простые разновидности headSet(Object toElement) и tailSet(Object fromElement), возвращающие подмножество, состоящее из всех элементов, меньших и больших данного соответственно.

Способ упорядочения элементов описывает интерфейс Comparator. Он имеет два метода: compare(Object obj1, Object obj2) – возвращает отрицательное число, если obj1 считается меньшим obj2, ноль, если они равны и положительное число, если obj1 больше obj2.

equals(Object obj1, Object obj2) – возвращает true, если объекты считаются равными

Можно создать свой собственный способ сравнения элементов, написав класс, реализующий интерфейс Comparator и переопределив методы compare() и equals(). Класс TreeSet, например, имеет конструктор с параметром типа Comparator, в который можно передать объект этого нового класса. В результате элементы множества будут отсортированы угодным нам способом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: