Единственной структурой данных, более быстрой, чем HashSet, скорее всего, будет TIntHashSet от Trove4J. Это использует примитивы, избегая необходимости использовать целочисленные объекты.
Если число целых чисел мало, вы можете создать логическое значение [], в котором каждое имеющееся значение превращается в «истину». Это будет O (1). Примечание: HashSet не гарантированно будет O (1) и, скорее всего, будет O (log (log (N))).
Вы получите O (1) только для идеального распределения хешей. Тем не менее, более вероятно, что вы получите коллизии хешированных сегментов, и некоторые поиски должны будут проверить более одного значения.