Java—查找重复元素的高效方法

Java—查找重复元素的高效方法,java,arrays,arraylist,time-complexity,Java,Arrays,Arraylist,Time Complexity,有人能帮我从概念上理解我在以下方面有哪些选择: 我有一个int元素数组,我正在寻找一种方法,可以查看其中是否有重复的元素。我试图记住时间的复杂性,并且想要一个在O(n)time中的解决方案 考虑到这个特定的边界,我不能使用嵌套的for循环遍历所有n个元素,因为这个数组可能包含成千上万个标记 有什么想法或建议可以帮助我吗 从T[]数组生成HashSet。 如果 那么你有重复的 生成HashSet具有O(n)复杂性 不要忘记在T中重写equals和hashcode如果您对它们进行排序(O(n log

有人能帮我从概念上理解我在以下方面有哪些选择:

我有一个int元素数组,我正在寻找一种方法,可以查看其中是否有重复的元素。我试图记住时间的复杂性,并且想要一个在
O(n)
time中的解决方案

考虑到这个特定的边界,我不能使用嵌套的for循环遍历所有n个元素,因为这个数组可能包含成千上万个标记

有什么想法或建议可以帮助我吗

T[]数组生成
HashSet
。 如果

那么你有重复的

生成
HashSet
具有
O(n)
复杂性


不要忘记在
T

中重写
equals
hashcode
如果您对它们进行排序(O(n log n)),那么一旦对它们进行排序,您只需比较相邻的项即可。(假设您正在寻找副本。)“任何匹配项”是什么意思?匹配什么?你的意思是找到重复的元素吗?是的,我正在寻找重复的元素。如果你所有的整数都在一个相当有限的范围内,你可以检查它一次(O(n))并记录每个值的出现次数。这对我来说非常有用。谢谢你的意见!
set.size() != array.length