HashSet实现 Set<E>接口,所以HashSet保证元素唯一性的做法与Set的做法一致,下面用HashSet为例子来说明Set集合是如何确保元素的唯一性的。
public static void main(String[] args) {
HashSet<Integer> integers = new HashSet<>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(1);
System.out.println(integers.toString());
}
输出的结果为:[1, 2, 3]
从上面这段代码可以看到,这里往Integer类型的HashSet里面添加了四个值,其中两个值是相同的,而这个相同的值只有一个成功的添加了进去。不难发现,HashSet内部已经实现了去重的操作。下面用HashSet存储自定义对象的例子来说明Set集合保证元素唯一性的原理。
定义一个Dog类作为HashSet的类型
public class Dog {
String color;
Intege