java中set集合

1.自定义人类,包含姓名和年龄属性。
创建4个人存储到HashSet中,如果姓名和年龄相同的人看做同一人不存储

import java.util.HashSet;

public class Person {

    public String name;
    public int age;
    
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person p1 = new Person("张三",23);
        Person p2 = new Person("张三",24);
        Person p3 = new Person("张三",23);
        Person p4 = new Person("李四",23);
        
        HashSet pset = new HashSet();
        
        
        add(pset,p1);
        add(pset,p2);
        add(pset,p3);
        add(pset,p4);
        
        System.out.println("HashSet中存储的Person对象如下:");
        for(Object obj:pset) {
            Person p = (Person)obj;
            
            System.out.println(p);
            
        }
        
        
    }

//https://blog.csdn.net/qq_41562587/article/details/103893416    
    public static void  add(HashSet pset,Person p) {
        
        int find=0;
        for(Object obj:pset) {
            
            Person tp = (Person)obj;
            if(tp.equals(p)) {
                find=1;
                break;
            }
            
        }
        
        if(find==0) {
            pset.add(p);
            System.out.println("添加Person对象"+p+"成功!");
        }else {
            System.out.println("HashSet中存在此对象,添加Person对象"+p+"失败!");
            
        }
    }

    
    
    public String getName() {
        return name;
    }




    public void setName(String name) {
        this.name = name;
    }




    public int getAge() {
        return age;
    }




    public void setAge(int age) {
        this.age = age;
    }




    


    public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    
    public Person() {
        super();
        
    }




    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }
    
    
    public boolean equals(Person p) {
        
        if(this.getAge()==p.getAge()&&this.getName().equals(p.getName())) {
            return true;
        }else {
            return false;
        }
        
    }
    
}




img