public?void?testAdd(){
//創(chuàng)建一個(gè)課程對(duì)象,并通過(guò)調(diào)用add方法,添加到備選課程
Course?cr1=new?Course("1",?"數(shù)據(jù)結(jié)構(gòu)");
coursesToSelect.add(cr1);
Course?temp=(Course)?coursesToSelect.get(0);
System.out.println("添加了課程:"+temp.id+":"+temp.name);
Course?cr2=new?Course("2",?"C語(yǔ)言");
coursesToSelect.add(0,cr2);
Course?temp2=(Course)?coursesToSelect.get(0);
System.out.println("添加了課程:"+temp2.id+":"+temp2.name);
Course[]?course={new?Course("3","離散數(shù)學(xué)"),new?Course("4","匯編語(yǔ)言")};
coursesToSelect.addAll(Arrays.asList(course));
Course?temp3=(Course)?coursesToSelect.get(2);
Course?temp4=(Course)?coursesToSelect.get(3);
System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+";"
+temp4.id+":"+temp4.name+";");
Course[]?course2={new?Course("5","數(shù)學(xué)"),new?Course("6","語(yǔ)言")};
coursesToSelect.addAll(2,Arrays.asList(course2));
Course?temp5=(Course)?coursesToSelect.get(2);
Course?temp6=(Course)?coursesToSelect.get(3);
System.out.println("添加了兩門課程:"+temp5.id+":"+temp5.name+";"
+temp6.id+":"+temp6.name+";");
//在此添加課程?1
coursesToSelect.add(cr1);
Course?temp0=(Course)?coursesToSelect.get(2);
System.out.println("添加了課程:"+temp0.id+":"+temp0.name);
}
/**
?*?取得List中元素的方法
?*?@param?args
?*/
public?void?testGet(){
int?size=coursesToSelect.size();
System.out.println("有如下課程待選:");
for(int?i=0;i<size;i++){
Course?cr=(Course)?coursesToSelect.get(i);
System.out.println("課程:"+cr.id+":"+cr.name);
}
}
public?static?void?main(String[]?args)?{
ListTest?lt=new?ListTest();
lt.testAdd();//添加課程
lt.testGet();//查詢課程
}
2017-03-06
你目前用的是List接口,元素可以重復(fù)。首先你在第三個(gè)位置上添加的是 5:數(shù)學(xué)。所以當(dāng)你重復(fù)添加 1:數(shù)據(jù)結(jié)構(gòu) 時(shí)獲取到的是當(dāng)前位置上的數(shù)據(jù) ?即 5:數(shù)學(xué)
而實(shí)際你添加的是1:數(shù)據(jù)結(jié)構(gòu)。