Почему метод SubSet указан в интерфейсе SortedSet вместо Set? - PullRequest
2 голосов
/ 15 января 2020

Почему метод subSet указан в SortedSet Интерфейс вместо Set в отличие от subList метод интерфейса List?

Ответы [ 2 ]

3 голосов
/ 15 января 2020
Операция

A subSet требует, чтобы базовый Set имел порядок. В противном случае нет смысла запрашивать все элементы от элемента X к элементу Y.

Базовый интерфейс Set не требует упорядочения (например, HashSet s не упорядочены). Поэтому он не может поддерживать эту операцию.

Упорядочен интерфейс List, поэтому имеет смысл использовать метод subList().

2 голосов
/ 15 января 2020

Элементы в наборе не упорядочены, поэтому было бы неопределенным, какие элементы будет содержать подмножество.

...