Эквивалент TreeSet/TreeMap для HashSet/HashMap (пользовательский хэшер)

TreeSet имеет конструктор, который принимает компаратор, что означает, что даже если хранимые объекты не являются сравнимыми объектами сами по себе, вы можете предоставить пользовательский компаратор.

Существует ли аналогичная реализация неупорядоченного множества? (например, альтернатива HashSet, которая принимает объект "hasher", который вычисляет equals() и hashCode() для объектов T, которые могут отличаться от собственных реализаций объектов?)

C++ std::hash_set дает это, просто интересно, есть ли что-то для Java.


Редактировать: @Max высказал хорошее техническое замечание по поводу equals() - справедливо; и это верно для TreeMap и HashMap ключей через Map.containsKey(). Но есть ли другие известные структуры данных, которые позволяют организовать их с помощью пользовательских хэшеров?

7
задан Gray 28 September 2012 в 14:56
поделиться