Java集合演示一对多关系[84]
一、学生类
```java
//学生类
class Student{
private String name;
private int age;
private Teacher teacher;
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name) &&
Objects.equals(teacher, student.teacher);
}
@Override
public int hashCode() {
return Objects.hash(name, age, teacher);
}
public Student(String n, int a){
this.name=n;
this.age=a;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", teacher=" + teacher.toString() +
'}';
}
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 Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}
二、老师类
//老师类
class Teacher{
private String tname;
private int tage;
private HashSet<Student> hashSet=new HashSet<>();
public Teacher(String n,int a){
this.tname=n;
this.tage=a;
}
@Override
public String toString() {
return "Teacher{" +
"tname='" + tname + '\'' +
", tage=" + tage +
'}';
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
public int getTage() {
return tage;
}
public void setTage(int tage) {
this.tage = tage;
}
public HashSet<Student> getHashSet() {
return hashSet;
}
public void setHashSet(HashSet<Student> hashSet) {
this.hashSet = hashSet;
}
}
三.创建实例使用
private static void OneOrMany(){
Student student1=new Student("小明",10);
Student student2=new Student("小刚",11);
Teacher teacher=new Teacher("小张",22);
teacher.getHashSet().add(student1);
teacher.getHashSet().add(student2);
student1.setTeacher(teacher);
student2.setTeacher(teacher);
System.out.println(teacher.getTname()+"->"+teacher.getTage());
for (Student s:teacher.getHashSet()){
System.out.println(s);
}
System.out.println(student1.toString());
System.out.println(student2.toString());
}
四.小结
本章对java中的集合中一对多的关系进行了代码演示,一对多和多对一的使用场景比较常见的,所以本章务必理解;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!