Java集合演示一对多关系[84]

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中的集合中一对多的关系进行了代码演示,一对多和多对一的使用场景比较常见的,所以本章务必理解;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道而起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值