gpt4 book ai didi

java - 您是否应该在插入集合之前检查重复项

转载 作者:IT老高 更新时间:2023-10-28 20:39:37 27 4
gpt4 key购买 nike

我正在学习使用集合。我的问题是:集合不包含重复项。当我们尝试插入重复项时,它不会抛出任何错误并自动删除重复项。在插入集合之前检查每个值是否存在是一种好习惯吗?还是可以执行以下代码之类的操作?我认为 Java 会在内部使用 .contains(value) 进行检查。你怎么看?

考虑到集合中有 n 个元素,这两种情况下的 Big O 复杂度是多少?

import java.util.HashSet;
import java.util.Set;

public class DuplicateTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
Set<Integer> mySet = new HashSet<Integer>();

mySet.add(10);
mySet.add(20);
mySet.add(30);
mySet.add(40);
mySet.add(50);
mySet.add(50);
mySet.add(50);
mySet.add(50);
mySet.add(50);
mySet.add(50);

System.out.println("Contents of the Hash Set :"+mySet);
}

}

最佳答案

根据 docs :

public boolean add(E e)

Adds the specified element to this set if it is not already present. More formally, adds the specified element e to this set if this set contains no element e2 such that (e==null ? e2==null : e.equals(e2)). If this set already contains the element, the call leaves the set unchanged and returns false.

所以 add() 方法已经返回真或假。所以你不需要做额外的检查。

关于java - 您是否应该在插入集合之前检查重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712204/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com