2014-11-11 2 views
0

У меня есть список объектов с уникальным идентификатором (id), извлеченным из БД. Для конкретного сценария мне нужно удалить дубликаты. Для этого я храню его в HashSet. Однако этот процесс занимает некоторое время.Увеличение скорости HashSet

Я хотел знать, как это HashSet идентифицирует дубликаты. toString функция была переопределена. Есть ли какая-либо другая функция или что-то, что я должен переопределить, чтобы ускорить функцию HashSet?

Будет ли хэш-функция переопределять любую помощь?

+0

HashSet использует 'hashCode' и' equals'. – Thilo

+2

выбрать отличный (...) –

ответ

2

Вы должны переопределить методы hashCode и equals. Это методы, используемые для определения ключа в HashSet/HashMap.

HashSet идентифицирует дубликаты при первом расчете hashCode объекта он ищет, а затем итерация по всем объектам в HashSet, которые разделяют эту hashCode и сравнивая их досматриваемого объекта с equals, пока не будет найдено совпадение ,

Смежные вопросы