从java中的向量中删除重复项的最佳方法

时间:2017-04-16 18:55:07

标签: java

我正在考虑以下事项:

//从java中的向量中删除重复项

首先对任何快速排序算法的向量元素进行排序,例如:快速排序。这花费了O(nlogn)。然后,重复将彼此相邻。浏览已排序的向量并删除重复项。这花费O(n)。总费用:O(nlogn)。

这样做不是更好:

在HashSet中添加向量的所有元素

空矢量

将HashSet中的所有元素添加到向量

总成本将是:O(n),因为从HashSet添加到向量

我在想吗? 感谢

1 个答案:

答案 0 :(得分:2)

正确。

关于运行时,你得到了很大的改进。当然,你在内存方面支付费用,因为你最终得到了一个向量和那个集合。

使用LinkedHashSet时,您甚至可以保留初始向量的顺序。

最后:你应该更喜欢list / ArrayList而不是旧的矢量类。