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

public class Demo06 { public static void main(String[] args) { //使用HashSet存储学生对象 Set set = new HashSet<>(); set.add(new Student("张三", 18)); set.add(new Student("李四", 20)); set.add(new Student("张三", 18)); //重复元素,不会被添加

    //遍历集合
    for (Student s : set) {
        System.out.println(s);
    }
}

}

class Student { private String name; private int age;

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

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;
}

@Override
public String toString() {
    return "Student{" +
            "name='" + name + '\'' +
            ", age=" + age +
            '}';
}

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

    Student student = (Student) o;

    if (age != student.age) return false;
    return name != null ? name.equals(student.name) : student.name == null;
}

@Override
public int hashCode() {
    int result = name != null ? name.hashCode() : 0;
    result = 31 * result + age;
    return result;
}

}

/* 输出结果: Student{name='李四', age=20} Student{name='张三', age=18} *

06、分析以下需求并完成代码		使用HashSet存储学生对象姓名年龄属性相同认为是同一个对象则不存public class Demo06 public static void mainString args 使用HashSet存储学生对象 遍历集合

原文地址: http://www.cveoy.top/t/topic/cJMG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录