/**
*
* 课程类
* @author wushuai
*
*/
public class Course {
public String id;
public String name;
public Course(String id,String name) {
this.id=id;
this.name=name;
}
}
package school;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
/**
* 被选课程类
* @author
*
*/
public class ListTest {
/**
* 用于存放备选课程的List
*/
public List courseToSelect;
public ListTest() {
this.courseToSelect=new ArrayList();
}
/**
* 用于往courseToSelect中添加备选课程
*/
public void testAdd() {
//创建一个课程对象,并通过调用add方法,添加到备选课程List中
Course cr1=new Course( "1" , "数据结构");
courseToSelect.add(cr1);
Course temp =(Course) courseToSelect.get(0);
System.out.println("添加了课程:"+temp.id+":"+temp.name);
Course cr2=new Course( "2" , "c语言");
courseToSelect.add(0,cr2);
Course temp2 =(Course) courseToSelect.get(0);
System.out.println("添加了课程:"+temp2.id+":"+temp2.name);
//以下方法会抛出数组下标越界异常
/*
Course cr3=new Course( "3" , "操作系统");
courseToSelect.add(3,cr3);
Course temp3=(Course) courseToSelect.get(0);
System.out.println("添加了课程:"+temp3.id+":"+temp3.name);
*/
/**
* 输出的结果
* Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 3, Size: 2
*/
Course[] course= { new Course("3", "离散数学"),new Course("4", "汇编语言")};
courseToSelect.addAll(Arrays.asList(course));
Course temp3=(Course) courseToSelect.get(2);
Course temp4=(Course) courseToSelect.get(3);
System.out.println("添加了课程:"+temp3.id+":"+temp3.name
+temp4.id+":"+temp4.name);
Course[] course2= { new Course("5", "高等数学"),new Course("6", "大学英语")};
courseToSelect.addAll(2,Arrays.asList(course2));
Course temp5=(Course) courseToSelect.get(2);
Course temp6=(Course) courseToSelect.get(3);
System.out.println("添加了课程:"+temp5.id+":"+temp5.name
+temp6.id+":"+temp6.name);
}
/**
* 取得List中的元素的方法
* @param args
*/
public void testGet() {
int size=courseToSelect.size();
System.out.println("有如下课程待选:");
for(int i=0;i<size;i++) {
Course cr=(Course) courseToSelect.get(i);
System.out.println("课程:"+cr.id+":"+cr.name);
}
}
/**
* 通过迭代器来遍历List
* @param args
*/
public void testIterator() {
Iterator it=courseToSelect.iterator();
System.out.println("有如下课程待选(通过迭代器访问):");
while(it.hasNext()) {
Course cr=(Course) it.next();
System.out.println("课程:"+cr.id+":"+cr.name);
}
}
/**
* 通过foreach方法访问集合元素
* @param args
*/
public void testForEach() {
System.out.println("有如下课程待选(通过For Each访问):");
for(Object obj:courseToSelect) {
Course cr=(Course) obj;
System.out.println("课程:"+cr.id+":"+cr.name);
}
}
/**
* 修改List中的元素
* @param args
*/
public void teseModify() {
courseToSelect.set(4, new Course("7","毛概"));
}
/**
* 删除List中的元素
* @param args
*/
public void testRemove() {
// Course cr=(Course) courseToSelect.get(4);
System.out.println("即将删除4位置上的课程!");
courseToSelect.remove(4);
System.out.println("成功删除课程!");
testForEach();
}
public static void main(String args[]) {
ListTest It=new ListTest();
It.testAdd();
It.testGet();
It.testIterator();
It.testForEach();
It.teseModify();
It.testForEach();
It.testRemove();
}
}
package school;
import java.util.HashSet;
import java.util.Set;
/**
* 学生类
* @author wushuai
*
*/
public class Student {
public String id;
public String name;
public Set course;
public Student ( String id,String name) {
this.id=id;
this.name=name;
this.course=new HashSet();
}
}