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

/**
* 测试set
* set:无序,不可重复
*/
public class SetTest {
public static void main(String[] args) {
test01();
test02();

}

public static void test01(){
Set s = new HashSet();
s.add("Hello");
s.add("world");
s.add("Hello");//相等的元素不会被加入
//其他的方法和list一致,因为都是collection接口的子接口
System.out.println(s);
}
//set中不可重复的核心,equals()方法
public static void test02(){
Emp e1 = new Emp(1001,"张三");
Emp e2 = new Emp(1002,"李四");
Emp e3 = new Emp(1001,"王二狗");

Set s = new HashSet();
s.add(e1);
s.add(e2);
s.add(e3);
System.out.println(s);


}
}
class Emp {
private int id;
private String ename;

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Emp emp = (Emp) o;
return id == emp.id;
}

@Override
public int hashCode() {
return Objects.hash(id);
}

public Emp(int id, String ename) {
this.id = id;
this.ename = ename;
}

@Override
public String toString() {
return "Emp{" +
"id=" + id +
", ename='" + ename + '\'' +
'}';
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getEname() {
return ename;
}

public void setEname(String ename) {
this.ename = ename;
}
}
posted on 2021-08-10 14:13  廖莎  阅读(26)  评论(0编辑  收藏  举报