通过跳过列表中的值来为序列编写for循环?
答
您可以使用哈希集为目的它会自动删除重复的元素。因此,对于您的输入数组,将每个元素逐个放入哈希集中,最后您的哈希集将包含非重复元素。
在关于hashshet参阅疑惑:https://www.tutorialspoint.com/java/java_hashset_class.htm
答
大多数高效方式,即O(M + N),是将List
转换为HashSet
,然后检查使用contains()
:
Set<Integer> set = new HashSet<>(list);
for (int i = 1; i <= n; i++) {
if (! set.contains(i)) {
// your code here
}
}
如果您未直接转换为Set
,并直接使用List
的方法,则性能为O(mn),其中m是列表中元素的数量。
+0
非常感谢 –
你可以在这里找到类似的问题https://stackoverflow.com/questions/203984/how-do-i-remove-repeated-elements-from-arraylist –
可能的重复[如何从ArrayList中删除重复的元素?](https://stackoverflow.com/questions/203984/how-do-i-remove-repeated-elements-from-arraylist) –
这个问题与'hibernate'或'spring-mvc'有什么关系? – Andreas