为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

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

1 回复 有任何疑惑可以回复我~
#1

张念 提问者

非常感谢!
2017-05-12 回复 有任何疑惑可以回复我~

我懂了


0 回复 有任何疑惑可以回复我~

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

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


1 回复 有任何疑惑可以回复我~
#1

慕设计2812226

老师不是说coursesToSelect.add(0,cr2),可以把cr2放到第一个位置,把cr1挤到第二个位置,在get(0)不变的情况下,就是要实现coursesToSelect.add(0,cr2)可以把它添加到指定位置,和get(0)没关系吧?
2018-10-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信