public List courSelect;
public ListTest(){
this.courSelect = new ArrayList();
}
public void testAdd(){
Course co = new Course("1","java");
courSelect.add(co);
Course senm = (Course) courSelect.get(0);
System.out.println(senm.id
+senm.name);
Course se = new Course("0","sql");
courSelect.add(0, se);
Course sen = (Course) courSelect.get(0);
System.out.println(sen.id+ " : " +sen.name);
}
public static void main(String[] args){
ListTest li = new ListTest();
li.testAdd();
}
我简单回答一下。
add()方法中的数字,指的是添加位置。
get()方法中的数字,指的是要调用的位置。
add()方法的使用。初次往里面添加的话,添加位置只能是0位置,0可以省略不写的。 当第二次需要添加的时候,有两个添加位置,0位置和1位置。当你添加到0位置的时候,也就是把原本0位置存在的属性值,挤到了1位置。你也可以添加到1位置,这个时候1可以省略不写。每一次的添加都是对位置的从新排序。 当你需要第三次添加的时候,有0位置,1位置,2位置这样3个选择。选择最后一个位置的话,也就是2位置,2可以省略不写。选择1位置或者0位置就是把需要添加的属性值插进去,把原本存在的属性值挤到下一位。 上面所说的添加,指的是每次添加一个属性值。
get()方法的使用。括号里面的数字是几调用的就是几号位置的属性值。记住每一次添加都是对前面属性值的从新排序,调用几号位置,输出的就是几号位置的属性值。
这样应该是简单易懂吧
26分钟前
Course co = new Course("1","java");
courSelect.add(co);
Course senm = (Course) courSelect.get(0);
这个get(1)会下标越界,因为你此时只添加了一个元素。
Course se = new Course("0","sql");
courSelect.add(0, se);
Course sen = (Course) courSelect.get(0);
这个get(1)不会有问题,而且get(1)得出的结果是("1","java")。
写了下标0,不会把之前那个挤掉,会把之前的挤到下一个位置1上
第一个get[0],第二个get[1]应该不会报错吧,就是重复取出("1","java")。
因为你下面add进去的时候,写了下标0,所以把之前那个挤掉了把