为啥java入门第三季中4-4里面,coursesToSelect.add(1,cr2); 跟coursesToSelect.add(cr2);输出的是 添加了课程1:数据结构 ​ 添加了课程1:数据结构

来源:4-4 学生选课---添加课程 Ⅰ

张念

2017-05-12 11:11

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

    Course temp2=(Course) coursesToSelect.get(0);

    System.out.println("添加了课程"+temp2.id+":"+temp2.name);

    }

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(1,cr2);

    Course temp2=(Course) coursesToSelect.get(0);

    System.out.println("添加了课程"+temp2.id+":"+temp2.name);

    }


写回答 关注

3回答

  • 慕粉1300195495
    2017-05-12 11:38:16
    已采纳

    因为在List里面 0位置上是cr1 而 cr2是插入到1位置上的,temp2 是获取0位置上的course

    张念

    非常感谢!

    2017-05-12 11:39:26

    共 1 条回复 >

  • 张念
    2017-05-12 11:40:06

    我懂了


  • 张念
    2017-05-12 11:37:21

    因为   Course temp2=(Course) coursesToSelect.get(0);取的是第0个位置的值,因为当使用

    coursesToSelect.add(1,cr2);跟coursesToSelect.add(cr2);时,c语言对应的位置为1,所以当get(0)时取的为课程1的,输出的跟temp的一样。


    慕设计281...

    老师不是说coursesToSelect.add(0,cr2),可以把cr2放到第一个位置,把cr1挤到第二个位置,在get(0)不变的情况下,就是要实现coursesToSelect.add(0,cr2)可以把它添加到指定位置,和get(0)没关系吧?

    2018-10-24 22:30:57

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题