HashSet集合的去重原理 & 哈希表
一、知识点回顾:List集合去重
参考文章:《Java集合框架——去除List集合中重复的字符串》
- 方法一:重新创建一个集合,把第一个集合中的元素依次往集合二中添加,在添加的过程中用 contains(e) 方法判断,如果集合二存在该元素就不添加,反之则添加(补充:contains() 方法底层依赖的是equals() 方法)
- 方法二:用选择排序的思想去重,拿该集合中所有的元素(不包括最后一个索引的元素)和它之后的所有元素进行比较(equals() 方法),如果相同就删除该元素
二、实例操作猜测去重原理
-
猜测:HashSet集合依赖equals方法去重?
-
需求:往HashSet集合中添加学生对象,并且重写学生类的equals方法,添加相同的学生,看是否可以去重
package com.set.demo;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetTest2 {
public static void main(String[] args) {
Set<Student