JAVA 多对多例子
使用类集不仅可以表示出一对一的关系,也可以表示出多对多的关系。例如,一个学生可以选多门课程,一门课程可以有多个学生参加,那么这就是一个典型的多对多关系。
要完成本程序,首先应该定义两个类:学生信息类Student、课程信息类Course。在一个学生类中存在一个集合,保存全部的课程;而在课程类中也要存在一个集合,保存全部的学生。
范例:定义学生类
package org.lxh.demo13.execdemo02;
import java.util.ArrayList;
import java.util.List;
public class Student { // 定义学生类
private String name ; // 定义name属性
private int age ; // 定义age属性
private List<Course> allCourses ; // 定义集合保存全部课程
public Student(){// 无参构造
this.allCourses = new ArrayList<Course>() ;// 实例化List集合
}
public Student(String name,int age){ // 通过构造设置属性内容
this() ; // 调用无参构造
this.setName(name) ; // 设置name属性内容
this.setAge(age) ; // 设置age属性内容
}
public String getName() {// 取得name属性
return name;
}
public void setName(String name) {// 设置name属性
this.name = name;
}
在学生类中存在一个allCourses的List集合,这样在程序运行时,一个学生类中可以保存多个Course对象。
范例:定义课程类
package org.lxh.demo13.execdemo02;
import java.util.ArrayList;
import java.util.List;
public class Course { // 定义Course类
private String name ; // 定义name属性
private int credit ; // 定义credit属性,表示学分
private List<Student> allStudents ; // 定义集合保存多个学生
public Course(){ // 无参构造方法
this.allStudents = new ArrayList<Student>() ;// 实例化List集合
}
public Course(String name,int credit){ // 设置name和credit 属性
this() ; // 调用无参构造
this.setName(name) ; // 设置name属性
this.setCredit(credit) ; // 设置credit属性
}
public String getName() { // 取得na
相关文档:
自从上次写了二分法查找代码后突然打算好好学习一下数据结构.买了一本数据结构与算法......
import java.util.Random;
/**
*
* @author leon.lee
*/
public class BubbleSort {
private int[] arrayData;
public void printArrayList(){
if (arrayData!=null){
for(int i:a ......
Constant Pool常量池的概念:
在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太
明白Constant Pool到底是个怎么样的东西,运行的时候存储在哪里,所以在这里先说一下Constant Pool的内容.
String Pool是对应于在Constant Pool中存储String常量的区域.习惯称为String Pool,也有人称 ......
会。 所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。
java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。
&n ......
原帖地址:
http://coolshell.cn/?p=2235
----------------我是紫苑最萌的分割线XD--------------
概述:
本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测
试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码测试。
原文出处:http://ww ......
主要代码参考了beansoft的ZipUtil,添加了一个方法,
可以把不同目录文件添加到zip中,并做了一些改进,使用了apache的zip类,(原为jdk的zip类),使支持中文文件名。
apache的zip类可以从ant中抽取。apache好像没有提供单独下载。
package com.order;
import java.io.*;
import java.util.List;
import org.apache.tool ......