きっとJavaクラスセット多対多関係ノート
3852 ワード
きっとJavaクラスセット多対多関係ノート
インスタンスの要件:
1人の学生は複数の課程を選択することができ、1つの課程は複数の学生が参加することができ、それは典型的な多対多関係である.
このプログラムを完了するには、まず2つのクラスを定義する必要があります:学生情報クラスStudio、カリキュラム情報クラスCourse、1つの学生クラスに1つのセットが存在し、すべてのカリキュラムが保存され、カリキュラムにも1つのクラスセットが存在し、すべての学生が保存されます.
3、本例の主な知識
1.Listコレクション
2.参照転送
3.Iterator
4、具体的な内容
Course.java
Student.java
インスタンスの要件:
1人の学生は複数の課程を選択することができ、1つの課程は複数の学生が参加することができ、それは典型的な多対多関係である.
このプログラムを完了するには、まず2つのクラスを定義する必要があります:学生情報クラスStudio、カリキュラム情報クラスCourse、1つの学生クラスに1つのセットが存在し、すべてのカリキュラムが保存され、カリキュラムにも1つのクラスセットが存在し、すべての学生が保存されます.
3、本例の主な知識
1.Listコレクション
2.参照転送
3.Iterator
4、具体的な内容
Course.java
import java.util.List;
import java.util.ArrayList;
public class Course{
private String name;
private int Credit;
private List<Student> allStudents;
public Course(){
this.allStudents = new ArrayList<Student>();
}
public Course(String name,int Credit){
this();
this.name = name;
this.Credit = credit;
}
public List<Student> getAllStudents(){
return this.allStudents;
}
public void setName(String name){
this.name = name;
}
public void setCredit(int credit){
this.credit = credit;
}
public String getName(){
return this.name;
}
public itn getCredit(){
return this.credit;
}
public String toString(){
return " :"+this.name+"; :"+this.credit;
}
}
Student.java
import java.util.List ;
import java.util.ArrayList ;
public class Student{
private String name ;
private int age ;
private List<Course> allCourses ;
public Student(){
this.allCourses = new ArrayList<Course>() ;
}
public Student(String name,int age){
this() ;
this.name = name ;
this.age = age ;
}
public List<Course> getAllCourses(){
return this.allCourses ;
}
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
public String toString(){
return " :" + this.name + "; :" + this.age ;
}
};
import java.util.Iterator ;
public class TestMore{
public static void main(String args[]){
Course c1 = new Course(" ",3 ) ; //
Course c2 = new Course(" ",5) ; //
Student s1 = new Student(" ",20) ;
Student s2 = new Student(" ",21) ;
Student s3 = new Student(" ",22) ;
Student s4 = new Student(" ",23) ;
Student s5 = new Student(" ",24) ;
Student s6 = new Student(" ",24) ;
//
c1.getAllStudents().add(s1) ;
c1.getAllStudents().add(s2) ;
c1.getAllStudents().add(s6) ;
s1.getAllCourses().add(c1) ;
s2.getAllCourses().add(c1) ;
s6.getAllCourses().add(c1) ;
//
c2.getAllStudents().add(s1) ;
c2.getAllStudents().add(s2) ;
c2.getAllStudents().add(s3) ;
c2.getAllStudents().add(s4) ;
c2.getAllStudents().add(s5) ;
c2.getAllStudents().add(s6) ;
s1.getAllCourses().add(c2) ;
s2.getAllCourses().add(c2) ;
s3.getAllCourses().add(c2) ;
s4.getAllCourses().add(c2) ;
s5.getAllCourses().add(c2) ;
s6.getAllCourses().add(c2) ;
// , \
System.out.println(c1) ;
Iterator<Student> iter1 = c1.getAllStudents().iterator() ;
while(iter1.hasNext()){
Student s = iter1.next() ;
System.out.println("\t|- " + s) ;
}
//
System.out.println(s6) ;
Iterator<Course> iter2 = s6.getAllCourses().iterator() ;
while(iter2.hasNext()){
Course c = iter2.next() ;
System.out.println("\t|- " + c) ;
}
}
};