Collection的实现——学生选课(三)

Posted on 2017-09-13 22:40  雾的鱼坂  阅读(119)  评论(0)    收藏  举报

通过addAll方法往list对象添加课程:

        Course []course={new Course("3","离散数学"),new Course("4","汇编语言")};
        coursesToselect.addAll(Arrays.asList(course));
        /*
         * 通过Arrays.asList将数组course转换成List传递进coursesToselect
         * 此时3,4课程分别在List的2,3位置上
         */
         Course temp3=(Course) coursesToselect.get(2);    
         Course temp4=(Course) coursesToselect.get(3);    
         System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name+"和"+temp4.id+":"+temp4.name);

 

此时课程的位置如图:  

 Course temp3=(Course) coursesToselect.get(2);  

//Course temp2=coursesToselect.get(0);对象存入集合都会变成Object类型,需要进行类型转换,转换成Course类型

将另一个数组Course2插入List中:

 Course []course2={new Course("5","离散数学"),new Course("6","汇编语言")};
         coursesToselect.addAll(2,Arrays.asList(course2));
         //将数组course2从2位置插入List
         Course temp5=(Course) coursesToselect.get(2);    
         Course temp6=(Course) coursesToselect.get(3);    
         System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name+"和"+temp6.id+":"+temp6.name);

此时课程的位置如图:

注:如果插入的位置超过了List的最大容量就后发生数组下标越界异常:

    /*
        Course cr3=new Course("3"+"test");
        coursesToselect.add(4, cr3); //能否添加的位置只能是0,1
        超过了就会发生数组下标越界异常
          
        */