Collectors.toSet () и HashSet

Возьмите следующую строку примера кода:

Set<String> someSet = someColletion.stream().map(p -> p.toString()).collect(Collectors.toSet());

я хочуHashSet, Принимая отладчик к коду, я действительно получаюHashSet, Я посмотрел наjava.util.stream.Collectors.toSet() соблюдать следующий код:

public static <T> Collector<T, ?, Set<T>> toSet() {
    return new CollectorImpl<>((Supplier<Set<T>>) HashSet::new, Set::add,
                               (left, right) -> { left.addAll(right); return left; },
                               CH_UNORDERED_ID);
}

Контрактгарантии a Setи реализация решаетHashSet; кажется разумным. Тем не менее, моя реализация нуждается в постоянном поиске времени, гарантированномHashSetне просто какой-то старыйSet, Если реализацияtoSet() решает использовать, скажем,FooSet, что вполне в его правах, моя реализация скомпрометирована.

Как лучше всего решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос