package Course;
/**
*
* 课程类
* @author BloodyDmusic
*
*/
public class Courses {
public String id;
public String name;
public Courses(String id,String name){
this.id=id;
this.name=name;
}
}
package Course;
/***
* 学生类
*/
import java.util.HashSet;
import java.util.Set;
public class Student {
String id;
String name;
public Set Couses;
public Student(){
this.id=id;
this.name=name;
this.Couses=new HashSet();
}
}
package Course;
/**
* 备选课程类
*/
import java.util.*;
public class ListText {
public List coursesToSelect;
/**
*
* 用于存放备选课程的List
*/
public ListText(){
this.coursesToSelect=new ArrayList();
}
/**
* 用于往coursesToSelect中添加备选课程
*/
public void textAdd(){
Courses cr1=new Courses("1","数据结构");
coursesToSelect.add(cr1);
Courses temp=(Courses)coursesToSelect.get(0);
System.out.println("添加了课程:"+temp.id+":"+temp.name);
Courses cr2=new Courses("2","C语言");
coursesToSelect.add(0,cr2);
Courses temp2=(Courses)coursesToSelect.get(0);
System.out.println("添加了课程:"+temp2.id+":"+temp2.name);
//以下方法会抛出数组下标越界异常
//Courses cr3=new Courses("3","text");
//coursesToSelect.add(4,cr3);
Courses[]courses={new Courses("3","离散数学"),new Courses("4","线性代数")};
coursesToSelect.addAll(Arrays.asList(courses));
Courses temp3=(Courses)coursesToSelect.get(2);
Courses temp4=(Courses)coursesToSelect.get(3);
System.out.println("添加了课程:"+temp3.id+":"+temp3.name);
System.out.println("添加了课程:"+temp4.id+":"+temp4.name);
Courses[]courses2={new Courses("5","汇编语言"),new Courses("6","大学英语")};
coursesToSelect.addAll(2,Arrays.asList(courses2));
Courses temp5=(Courses)coursesToSelect.get(2);
Courses temp6=(Courses)coursesToSelect.get(3);
System.out.println("添加了课程:"+temp5.id+":"+temp5.name);
System.out.println("添加了课程:"+temp6.id+":"+temp6.name);
}
/***
* 取得List中元素的方法
* @param rags
*/
public void testGet(){
System.out.println("有如下课程待选:");
int size=coursesToSelect.size();
for(int i=0;i<size;i++){
Courses cr=(Courses)coursesToSelect.get(i);
System.out.println("课程:"+cr.id+":"+cr.name);
}
}
/***
* 通过迭代器来遍历List
* 只是遍历不能存储
* @param rags
*/
public void textIterator(){
System.out.println("有如下课程待选:(通过迭代器访问)");
Iterator it=coursesToSelect.iterator();
while(it.hasNext()){
Courses cr=(Courses)it.next();
System.out.println("课程:"+cr.id+":"+cr.name);
}
}
/***
* 通过for each方法访问集合元素
* @param rags
*/
public void textForEach(){
System.out.println("有如下课程待选(通过for each遍历):");
for(Object obj:coursesToSelect){
Courses cr=(Courses)obj;
System.out.println("课程:"+cr.id+":"+cr.name);
}
}
/***
* 修改List中的元素
* @param rags
*/
public void textModify(){
coursesToSelect.set(3, new Courses("4","毛概"));
}
/***
* 删除List中的元素
* @param rags
*/
/* public void textRemove(){
System.out.println("即将删除四位置上的元素");
coursesToSelect.remove(4);
System.out.println("删除完成");
textForEach();
}
*/
public void textRemoveAll(){
Courses[]courses={(Courses)coursesToSelect.get(4),(Courses)coursesToSelect.get(5)};
coursesToSelect.removeAll(Arrays.asList(courses));
textForEach();
}
public static void main(String[]rags){
ListText it=new ListText();
it.textAdd();
it.testGet();
it.textIterator();
it.textForEach();
it.textModify();
it.textForEach();
it.textRemoveAll();
}
}