多對對的映射,可以用學生和課程進行演示。一個學生可以選擇多個課程,一個課程又對應了多個學生
定義學生類
class Stu{
private String name;
private String num;
private Course[] course;
public Stu() {}
public Stu(String name,String num) {
this.name = name;
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public Course[] getCourse() {
return course;
}
public void setCourse(Course[] course) {
this.course = course;
}
public String getInfo() {
return "姓名 :"+name+" 學號 :"+num;
}
}
定義課程 類
class Course{
private String name;
private Stu[] stu;
public Course() {}
public Course(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Stu[] getStu() {
return stu;
}
public void setStu(Stu[] stu) {
this.stu = stu;
}
public String getInfo() {
return "課程 :"+name;
}
}
在main方法測試
首先定義Stu和Course對象,分別有三個
Stu s1 = new Stu("張三","001");
Stu s2 = new Stu("李四","002");
Stu s3 = new Stu("王五","003");
Course c1 = new Course("Java");
Course c2 = new Course("php");
Course c3 = new Course("Python");
設置彼此的關系,每個對象都有多個對象對應
//設置學生和課程的關系
s1.setCourse(new Course[]{c1,c2});
s2.setCourse(new Course[]{c1,c3});
s3.setCourse(new Course[]{c2,c3});
//相應的課程設置與學生的關系
c1.setStu(new Stu[]{s1,s2});
c2.setStu(new Stu[]{s1,s3});
c3.setStu(new Stu[]{s2,s3});
根據學生,獲取課程信息
System.out.println(s1.getInfo()+" 同學選擇的課程有");
for(int i=0; i<s1.getCourse().length; i++) {
System.out.println(s1.getCourse()[i].getInfo());
}
運行

根據課程,獲取學生信息
System.out.println(c2.getInfo()+" 選擇這門課程的學生信息");
for(int i=0; i<c2.getStu().length; i++) {
System.out.println(c2.getStu()[i].getInfo());
}
運行

