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();
}
}