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