HashSet添加重复元素,进行提示 , 那么可以自定一个HashSet类, 对add方法进行重写即可;
参考代码如下
import java.util.HashSet;
//自定义一个HashSet类
class MyHashSet<E> extends HashSet<E> {
//重写add方法即可,但数据已经存在,就给出提示
//源代码里addAll方法里还是会调用add方法; 所以不用重写addAll方法
@Override
public boolean add(E e) {
if(this.contains(e)){
System.out.println(e+"该数据已经存在了");
}
return super.add(e);
}
}
//测试类
public class Test {
public static void main(String[] args) {
MyHashSet<String> set = new MyHashSet<String>();
set.add("Jack");
set.add("Lucy");
set.add("Jack");//重复添加会进行提示
HashSet<String> set2 = new HashSet<>();
set2.add("Apple");
set2.add("Lucy");
set.addAll(set2); //重复添加,还是会进行提示
System.out.println(set);
}
}
测试结果
Jack该数据已经存在了
Lucy该数据已经存在了
[Apple, Lucy, Jack]