〖Java类集〗_范例讲解:多对多关系笔记
2013-01-28 16:12
281 查看
〖Java类集〗_范例讲解:多对多关系笔记
实例要求:
一个学生可以选多门课程,一门课程可以有多个学生参加,那么这就是一个典型的多对多关系。
要完成本程序,首先应该定义两个类:学生信息类Student、课程信息类Course,在一个学生类中存在一个集合,保存全部的课程,而在课程中也要存在一个类集,保存全部的学生。
3、本实例主要采用的知识
1.List集合
2.引用传递
3.Iterator
4、具体内容
Course.java
Student.java
实例要求:
一个学生可以选多门课程,一门课程可以有多个学生参加,那么这就是一个典型的多对多关系。
要完成本程序,首先应该定义两个类:学生信息类Student、课程信息类Course,在一个学生类中存在一个集合,保存全部的课程,而在课程中也要存在一个类集,保存全部的学生。
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) ; } } };
相关文章推荐
- 〖Java类集〗_范例讲解:多对多关系笔记
- 〖Java类集〗_范例讲解:一对多关系笔记
- Java类集 _范例讲解:一对多关系
- Java类集 _范例讲解:多对多关系
- Java类集 - 一对多关系范例
- Java类集学习(七)应用范例(多对多的关系)
- 〖Java类集〗_范例讲解:一对多关系笔记
- Java类集学习(六)应用范例(一对多的关系)
- java笔记:第9章 类集Collections(容器)
- Java8 学习笔记--函数式接口与lambda表达式的关系
- 【数据库学习笔记】(3)SQL数据类型与Java数据类型的对应关系
- 黑马程序员——JAVA学习笔记——类集——(List,Set)
- 【Java类集】_IdentityHashMap类笔记
- 【Java学习笔记】7:类集框架基础与多线程基础
- JAVA学习笔记整理六(类集框架)
- 学习java笔记 --- 一个实现Iterable<E>接口的小范例
- java学习笔记-父与子的关系
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
- Java第二课 Java面向对象编程,面向对象编程和面向过程编程的区别,我们如何才能掌握面向对象的编程,类和对象的关系;讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常
- 专题笔记--Java 类集框架