packagecom.imooc.collection;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Iterator;importjava.util.List;/*** 备选课程类
* List是一个接口类,不能直接实例化,需要使用它的实现类 ArrayList或LinkedList来进行实例化*/
public classListTest {/*** 用于存放备选课程的List*/
privateList coursesToSelect;publicListTest(){this.coursesToSelect = newArrayList();
}publicList getCoursesToSelect() {returncoursesToSelect;
}//用于往courseToSelect中添加备选课程
public voidtestAdd(){//创建一个课程对象,并通过调用add方法,添加到备选课程List中
Course cr1 = new Course("1", "数据结构");
coursesToSelect.add(cr1);
Course temp= (Course) coursesToSelect.get(0);
System.out.println("添加了课程:" + temp.getId() + ":" +temp.getName());
Course cr2= new Course("2", "C语言");
coursesToSelect.add(0, cr2);
Course temp2= (Course) coursesToSelect.get(0);
System.out.println("添加了课程:" + temp2.getId() + ":" +temp2.getName());//Course数组
Course[] course = {new Course("3", "离散数学"), new Course("4", "汇编语言")};
coursesToSelect.addAll(Arrays.asList(course));
Course temp3= (Course) coursesToSelect.get(2);
Course temp4= (Course) coursesToSelect.get(3);
System.out.println("添加了两门课程:" + temp3.getName() + ":" +temp4.getName());
Course[] course2= {new Course("5", "高等数学"), new Course("6", "大学英语")};
coursesToSelect.addAll(2, Arrays.asList(course2));
}/*** 获取List中元素的方法*/
public voidtestGet(){int size =coursesToSelect.size();for(var i=0; i
Course cr=(Course) coursesToSelect.get(i);
System.out.println("课程:" + cr.getId() + ":" +cr.getName());
}
}/*** 通过迭代器来遍历List*/
public voidtestIterator(){
Iterator it=coursesToSelect.iterator();
System.out.println("(iterator)有如下课程待选:");while(it.hasNext()){
Course cr=(Course) it.next();
System.out.println("课程:" + cr.getId() + ":" +cr.getName());
}
}/*** 通过 foreach 方法来遍历List
*@paramargs*/
public voidtestForeach(){
System.out.println("(foreach)有如下课程待选:");for(Object obj: coursesToSelect) {
Course cr=(Course) obj;
System.out.println("课程:" + cr.getId() + ":" +cr.getName());
}
}/*** 修改 List 中的元素
*@paramargs*/
public voidtestModify(){
coursesToSelect.set(0, new Course("2", "Python之美"));
}/*** 删除 List 中的元素
*@paramargs*/
public voidtestDelete(){
Course cr= (Course) coursesToSelect.get(0);
coursesToSelect.remove(cr);
coursesToSelect.remove(0);
Course[] courses= {(Course) coursesToSelect.get(0), (Course) coursesToSelect.get(1)};
coursesToSelect.removeAll(Arrays.asList(courses));
}public static voidmain(String args[]){
ListTest lt= newListTest();
lt.testAdd();
lt.testGet();
lt.testIterator();
lt.testForeach();
lt.testModify();
lt.testDelete();
lt.testForeach();
}
}