我在Leetcode solution上读过这句话:
我通过用LinkedHashSet替换HashSet来修改了代码,因为 当数字太多时,set.iterator()可能会很昂贵 重复。如果我们仅使用LinkedHashSet可以视为O(1) 获取要删除的第一个元素。
正如您在解决方案下方的评论中看到的那样,有些人不同意该句子。
使用set.iterator().next()
从集合中获取随机元素是否确实比LinkedHashSet
更快?为什么?
我稍微看一下实现,是因为HashSet
的{{1}}浏览了后备数组以查找非空单元格吗?