Интерфейс API для Java Set гласит:
Например, некоторые реализации запрещают элементы
null
, а некоторые имеют ограничения на типы своих элементов
Я ищу базовую реализацию набора, которая не требует упорядочения (как ArrayList предоставляет List), и это не позволяет null
. TreeSet, HashSet и LinkedHashSet все разрешают нулевые элементы. Кроме того, TreeSet имеет требование, чтобы элементы реализовали Comparable.
Кажется, что в настоящее время такой базовый Set
не существует. Кто-нибудь знает, почему? Или если он существует, где я могу его найти?
[Изменить]: я не хочу разрешать null
s, потому что позже в коде мой класс будет перебирать все элементы в коллекции и вызывать определенный метод. (Я использую HashSet<MyRandomObject
> ). Я бы скорее не быстро, чем потерпел неудачу позже или случайно подвергся некоторому причудливому поведению из-за null
, находящегося в наборе.