您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
〖第13章:Java类集〗_范例讲解:一对多关系
发布时间:2021-01-04 15:58:57编辑:雪饮阅读()
一个学校多个学生可以形成一个一对多的类集范例
import java.util.Properties;
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
class School{
private String name ;
private List<Student> allStudents ;
public School(){
this.allStudents = new ArrayList<Student>() ;
}
public School(String name){
this() ;
this.setName(name) ;
}
public void setName(String name){
this.name = name ;
}
public String getName(){
return this.name;
}
public List<Student> getAllStudents(){
return this.allStudents ;
}
public String toString(){
return "学校名称:" + this.name ;
}
};
class Student{
private String name ;
private int age ;
private School school;
public Student(String name,int age){
this.setName(name) ;
this.setAge(age) ;
}
public void setSchool(School school){
this.school = school ;
}
public School getSchool(){
return this.school ;
}
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 ;
}
};
public class Hello{
public static void main(String args[]){
School sch = new School("雾幻天神流") ;
Student s1 = new Student("kasumi",24) ;
Student s2 = new Student("ayane",23) ;
Student s3 = new Student("momiji",28) ;
//school 构造之后getAllStudents是空集合,由于其是List泛型,所以可以通过List接口的add方法给该集合添加元素
sch.getAllStudents().add(s1) ;
sch.getAllStudents().add(s2) ;
sch.getAllStudents().add(s3) ;
//学生关联学校
s1.setSchool(sch) ;
s2.setSchool(sch) ;
s3.setSchool(sch) ;
System.out.println(sch) ;
Iterator<Student> iter = sch.getAllStudents().iterator() ;
while(iter.hasNext()){
System.out.println("\t|- " + iter.next()) ;
}
}
};
同样也可以在迭代一个学校的学生列表进行迭代的时候去获取该学生所属学校
public class Hello{
public static void main(String args[]){
School sch = new School("雾幻天神流") ;
Student s1 = new Student("kasumi",24) ;
Student s2 = new Student("ayane",23) ;
Student s3 = new Student("momiji",28) ;
sch.getAllStudents().add(s1) ;
sch.getAllStudents().add(s2) ;
sch.getAllStudents().add(s3) ;
s1.setSchool(sch) ;
s2.setSchool(sch) ;
s3.setSchool(sch) ;
System.out.println(sch) ;
Iterator<Student> iter = sch.getAllStudents().iterator() ;
while(iter.hasNext()){
System.out.println("\t|- " + iter.next().getSchool().getName()) ;
}
}
};
关键字词:java,一对多