Получает ли какой-либо элемент с помощью iterator(). Next() из HashSet медленнее, чем получение из LinkedHashSet?
Я прочитал это предложение о решении Leetcode:
Я изменил код, заменив HashSet на LinkedHashSet, потому что set.iterator() может быть дорогостоящим, когда число содержит слишком много дубликатов. Использование LinkedHashSet может рассматриваться как O(1), если мы получаем только первый элемент для удаления.
Как вы можете видеть в комментариях ниже решения, некоторые люди не согласны с этим предложением.
Правда ли, что получение случайного элемента из набора с использованием set.iterator().next()
быстрее для LinkedHashSet
чем для HashSet
и почему?
Я немного посмотрел на реализацию, потому что iterator
из HashSet
просмотреть резервный массив, чтобы найти непустую ячейку?