Java之Collection接口之List

来源:互联网 发布:书生空谈 知乎 编辑:程序博客网 时间:2024/04/28 03:06

Collection接口

1.是List、Set和Queue的父接口

2.定义可以用于操作的List、Set和Queue的方法--增删改查

package com.kk.collection;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;/** * 备选课程类 * @author kezeli * */public class ListTest {/** * 用于存放备选课程的List */@SuppressWarnings("rawtypes")public List CoursesToSelect;@SuppressWarnings("rawtypes")public ListTest(){this.CoursesToSelect=new ArrayList();}/** * 用于往CoursesToSelect里添加备选课程 */    @SuppressWarnings("unchecked")public void TestAdd(){    //创建一个课程对象,并通过调用add方法,添加到备选课程List中    Course cr1=new Course("1","数据结构");    CoursesToSelect.add(cr1);    Course Temp=(Course) CoursesToSelect.get(0);    System.out.println("添加了课程:"+Temp.id+":"+Temp.name);        Course cr2=new Course("2","C语言");    CoursesToSelect.add(0, cr2);    Course Temp2=(Course)CoursesToSelect.get(0);    System.out.println("添加了课程:"+Temp2.id+":"+Temp2.name);        Course cr3=new Course("1","数据结构");    CoursesToSelect.add(cr3);    Course Temp0=(Course) CoursesToSelect.get(1);    System.out.println("添加了课程:"+Temp0.id+":"+Temp0.name);        Course[] course={new Course("3","C++语言"),new Course("4","汇编语言")};    CoursesToSelect.addAll(Arrays.asList(course));    Course Temp3=(Course)CoursesToSelect.get(3);    Course Temp4=(Course)CoursesToSelect.get(4);    System.out.println("添加了两门课程:"+Temp3.id+":"+Temp3.name+";"                       +Temp4.id+":"+Temp4.name);        Course[] course2={new Course("5","高等数学"),new Course("6","线性代数")};    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);    }        /**     * 取得List中元素的方法     */    public void TestGet(){    int size=CoursesToSelect.size();    System.out.println("有如下可选课程");    for(int i=0;i<size;i++){    Course Temps=(Course)CoursesToSelect.get(i);    System.out.println(Temps.id+":"+Temps.name);    }    }        /**     * 通过迭代器来遍历List中的每个元素     * @param args     */    @SuppressWarnings("rawtypes")public void TestIterator(){    //通过集合的iterator方法,取得迭代器的实例    Iterator it=CoursesToSelect.iterator();    System.out.println("有如下可选课程(通过迭代器访问)");    while(it.hasNext()){    Course cr=(Course)it.next();    System.out.println(cr.id+":"+cr.name);    }    }        /**     * 通过for each方法来访问集合中的元素      * @param args     */    public void TestForEach(){    System.out.println("有如下可选课程(通过for each访问)");    for(Object obj:CoursesToSelect){    Course cr=(Course)obj;    System.out.println(cr.id+":"+cr.name);    }    }        /**     * 修改List中的元素     * @param args     */@SuppressWarnings("unchecked")public void TestModify(){    CoursesToSelect.set(4,new Course("7","毛概"));    }        /**     * 删除List中的元素     * @param args     */    @SuppressWarnings("unchecked")public void TestRemove(){    /**    * 方法1        * Course cr=(Course)CoursesToSelect.get(4);    * System.out.println("课程"+cr.id+":"+cr.name+",即将被删除!");    * CoursesToSelect.remove(cr);    */        /**     * 方法2     * System.out.println("即将删除4位置上的课程!");     * CoursesToSelect.remove(4);     */            //方法3    System.out.println("即将删除3、4位置上的课程!");    Course[]  courses={(Course)CoursesToSelect.get(4),(Course)CoursesToSelect.get(5)};    CoursesToSelect.removeAll(Arrays.asList(courses));    System.out.println("删除课程成功");    TestForEach();    }    public static void main(String[] args){    ListTest it=new ListTest();    it.TestAdd();    it.TestGet();    it.TestIterator();    it.TestForEach();    it.TestModify();    it.TestForEach();    it.TestRemove();    }}

package com.kk.collection;/** * 课程类 * @author kezeli * */public class Course {public String id;public String name;public Course(){}public Course(String id,String name){this.id=id;this.name=name;}} 


0 0
原创粉丝点击