我们可以减少从ArrayList准备Java HashSet的时间复杂度O(n)吗?

时间:2015-12-09 17:40:23

标签: java time-complexity

有10000件以上的ArrayList项。我试图通过HashSet使它们成为唯一的,这是O(n)复杂性的一个操作。还有其他算法/ DS可以使Collection唯一,复杂度低于O(n)吗?

2 个答案:

答案 0 :(得分:7)

不,这几乎是不可能的。 O(n)是通过ArrayList读取的最小复杂度,更不用说对元素做任何事情了。

答案 1 :(得分:1)

如果不经历所有元素,则无法确认您的集合是否具有所有唯一值。因此,O(n)是最小的。