Java类集的应用示范

类集在实际应用中非常重要,下面就是一个典型的小,可以体会一下类集的强大:

–1.一对多关系:
/*
一个学校有学校名称,学校里有多个学生,但学生数量是不确定的,不能用数组直接实现;
可以把学生实例放入类集中操作!实现简单的一对多关系;
*/
package com.mldn;
import .util.List;
import .util.ArrayList;
import .util.Iterator;
//—————-school类:
class School
{
        private String name = null;        // 学校名字
        private List allStudent        = null;        // 该集合用于存放所有的学生对象
        public School()
        {
                this.allStudent = new ArrayList();        // 初始化学生集合
        }
        public School(String name)
        {
                this();        // 初始化
                this.name = name;
        }
        public String getName()
        {
                return this.name;        // 获取当前学校名称
        }
        public List getAllStudent()
        {
                return this.allStudent;        // 获取当前学校的所有学生的集合
        }
        public void setName(String name)
        {
                this.name = name;        // 设置学校名称
        }
        /*public void setAllStudent(List studentList)
        {
                this.allStudent = studentList;        // 设置学生集合,类集操作替代了本方法
        }*/
        public String toString()
        {
                return this.name;
        }
}
//—————-Student类:
class Student
{
        private String name = null;        // 学生名
        private int age = 0;         // 年龄
        private School school = null;        // 学生所在的学校
        public Student(String name, int age)
        {
                this.name = name;
                this.age = age;
        }
        public String getName()
        {
                return this.name;        //  获取姓名
        }
        public int getAge()
        {
                return this.age;        // 获取年龄
        }
        public School getSchool()
        {
                return this.school;        // 获取学校
        }
        public void setName(String name)
        {
                this.name = name;        // 设置姓名
        }
        public void setAge(int age)
        {
                this.age = age;                // 设在年龄
        }
        public void setSchool(School school)
        {
                this.school = school;        // 设置学校
        }
        public String toString()
        {
                return “姓名:” + this.getName() + ” 年龄:” + this.getAge() + ” 学校:” + this.getSchool();
        }
}
// —————主类:
public class SchoolToStu
{
        public static void main(String[] args)
        {
                School school = new School(“北京大学”);        // 实例化一个学校
                Student stu1 = new Student(“张三”, 20);        // 实例化一个学生
                Student stu2 = new Student(“李四”, 22);
                Student stu3 = new Student(“王五”, 23);               
                stu1.setSchool(school);        // 为学生设置学校
                stu2.setSchool(school);
                stu3.setSchool(school);
                school.getAllStudent().add(stu1);        // 为学校添加学生
                school.getAllStudent().add(stu2);
                school.getAllStudent().add(stu3);
                List list = school.getAllStudent();        // 获取学生集合
                Iterator iter = list.iterator();        // 获取集合迭代器
                while (iter.hasNext())
                {
                        System.out.println(iter.next());        // 打印每个学生的信息
                }
        }
}
/*
ubuntu@xu-desktop:~$ com.mldn.SchoolToStu
姓名:张三 年龄:20 学校:北京大学
姓名:李四 年龄:22 学校:北京大学
姓名:王五 年龄:23 学校:北京大学
*/
—-类集:多对多关系:
/*
一个学生可以选择多门课程,一门课程可以被多个学生选择;
这是多对多的关系,可以由类集实现!
*/
package com.mldn;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
//—————-Student类:
class Student
{
        private String name = null;        // 学生名
        private int age = 0;         // 年龄
        private List allCourse = null;        // 学生所选的课程
        public Student()
        {
                this.allCourse = new ArrayList();        // 初始化课程集合
        }
        public Student(String name, int age)
        {
                this();        // 初始化
                this.name = name;
                this.age = age;
        }
        public String getName()
        {
                return this.name;        //  获取姓名
        }
        public int getAge()
        {
                return this.age;        // 获取年龄
        }
        public List getAllCourse()
        {
                return this.allCourse;        // 获取课程
        }
        public void setName(String name)
        {
                this.name = name;        // 设置姓名
        }
        public void setAge(int age)
        {
                this.age = age;                // 设在年龄
        }
        public String toString()
        {
                return ” 姓名:” + this.getName() + ” 年龄:” + this.getAge();
        }
}
//——-Course类:
class Course
{
        private String name = null;        // 课程名字
        private List allStudent = null;        // 该集合用于存放所有的学生对象
        public Course()
        {
                this.allStudent = new ArrayList();        // 初始化学生集合
        }
        public Course(String name)
        {
                this();        // 初始化
                this.name = name;
        }
        public String getName()
        {
                return this.name;        // 获取当前课程名称
        }
        public List getAllStudent()
        {
                return this.allStudent;        // 获取选择当前课程的所有学生的集合
        }
        public void setName(String name)
        {
                this.name = name;        // 设置课程名称
        }       
        public String toString()
        {
                return ” 课程: ” + this.name;
        }
}
public class MoreToMore
{
        public static void main(String[] args)
        {
                Student stu1 = new Student(“张三”, 24);        // 实例化一个学生
                Student stu2 = new Student(“李四”, 25);
                Student stu3 = new Student(“王五”, 23);
                Student stu4 = new Student(“大兵”, 24);        // 实例化一个学生
                Student stu5 = new Student(“小力”, 25);
                Student stu6 = new Student(“王刚”, 23);
                Course course1 = new Course(“高等”);        // 实例化一门课程
                Course course3 = new Course(“企业管理”);        // 实例化一门课程
                // 选择高等的有三个:
                stu1.getAllCourse().add(course1);       
                stu2.getAllCourse().add(course1);               
                stu3.getAllCourse().add(course1);
                course1.getAllStudent().add(stu1);        // 选择本课程的学生
                course1.getAllStudent().add(stu2);
                course1.getAllStudent().add(stu3);
                // 选择企业管理的有四个:
                stu1.getAllCourse().add(course3);
                stu6.getAllCourse().add(course3);       
                stu5.getAllCourse().add(course3);               
                stu4.getAllCourse().add(course3);
                course3.getAllStudent().add(stu6);        // 选择本课程的学生
                course3.getAllStudent().add(stu5);
                course3.getAllStudent().add(stu4);
                course3.getAllStudent().add(stu1);
                Iterator iter1 = stu1.getAllCourse().iterator();        // 获取迭代
                System.out.println(stu1.getName() + “所选课程:”);
                while (iter1.hasNext())
                {
                        System.out.println(iter1.next());        // 打印学生选课信息
                }               
                Iterator iter2 = course1.getAllStudent().iterator();        // 获取迭代
                System.out.println(“选择高等的学生:”);
                while (iter2.hasNext())
                {
                        System.out.println(iter2.next());        // 打印学生选课信息
                }
                Iterator iter3 = course3.getAllStudent().iterator();        // 获取迭代
                System.out.println(“选择企业管理的学生:”);
                while (iter3.hasNext())
                {
                        System.out.println(iter3.next());        // 打印学生选课信息
                }
        }
}
/*
ubuntu@xu-desktop:~$ java com.mldn.MoreToMore
张三所选课程:
课程: 高等
课程: 企业管理
选择高等的学生:
姓名:张三 年龄:24
姓名:李四 年龄:25
姓名:王五 年龄:23
选择企业管理的学生:
姓名:王刚 年龄:23
姓名:小力 年龄:25
姓名:大兵 年龄:24
姓名:张三 年龄:24
*/

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《Java类集的应用示范
本文地址:https://www.zhiletu.com/archives-128.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!