java编程请按以下要求顺序编码:定义学生类Student属性:姓名、性别、年龄定义测试类及main方法创建三个Student对象分别设置以下数据:张三男20李四女21张三男20定义一个存储Student类型的HashSet集合将上述对象存储到Set集合中要求集合中不能存储姓名性别年龄相同的元素。使用增强for遍历集合获取集合中每个Student对象并打印属性值;
- 学生类Student的定义:
public class Student { private String name; private String gender; private int age;
public Student(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Student)) {
return false;
}
Student s = (Student) obj;
return s.name.equals(name) && s.gender.equals(gender) && s.age == age;
}
@Override
public int hashCode() {
return Objects.hash(name, gender, age);
}
}
- 测试类及main()方法的定义:
import java.util.HashSet; import java.util.Set;
public class Test { public static void main(String[] args) { Student s1 = new Student("张三", "男", 20); Student s2 = new Student("李四", "女", 21); Student s3 = new Student("张三", "男", 20);
Set<Student> set = new HashSet<>();
set.add(s1);
set.add(s2);
set.add(s3);
for (Student s : set) {
System.out.println("姓名:" + s.getName() + ",性别:" + s.getGender() + ",年龄:" + s.getAge());
}
}
}
输出结果:
姓名:李四,性别:女,年龄:21 姓名:张三,性别:男,年龄:2
原文地址: http://www.cveoy.top/t/topic/fECw 著作权归作者所有。请勿转载和采集!