二、在HashSet集合中添加三个Student对象,把姓名相同的人当做同一个人,禁止重复添加 Student对象有name,age,sex,address等属性

import java.util.*;

public class ti{
public static void main(String[] arg){
//使用comparator和comparable对象数组进行排序和查找;数组必须是引用类型
//在hashset集合中添加三个student对象 吧姓名相同的人当做同一个人,禁止重复添加
//student有那么ageaddress
HashSet set = new HashSet<>();

    student s = new student("liergou",22,"jinan");
    student s2 = new student("liergou",22,"jinan");
    student s3 = new student("liergou1",22,"jinan");
    student s4 = new student("liergou2",22,"jinan");
    set.add(s);
    set.add(s2);
    set.add(s3);
    set.add(s4);
    for(student x : set){
        System.out.println(x);
    }
}

}
class student{
String name;
int age;
String address;
public student(String name,int age,String address){
this.name =name;
this.age = age;
this.address = address;
}
@Override
public int hashCode(){
return name.hashCode()+age+address.hashCode();
}
@Override
public String toString(){
return name+”:”+age+”:”+address;
}
@Override
public boolean equals(Object obj){
if(obj==null) return false;
if(!(obj instanceof student)) return false;
if(obj == this){return true;}
student s1 = (student) obj;
student s2 = this;
return s1.name.equals(s2.name);
}

}

猜你喜欢

转载自blog.csdn.net/qq_43011881/article/details/82053173