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