为什么List#add(i, element)方法不替换Arraylist中的现有元素



为什么在 Arraylist 中 Null 值没有被 "M" 替换?

ArrayList al=new ArrayList();
al.add("A");
al.add(10);
al.add("A");
al.add(null);
System.out.println(al);
al.remove(2);
System.out.println(al);
System.out.println(al.get(2));
al.add(2,"M"); // here
System.out.println(al); 
al.add("N");

输出

>>>

[A, 10, A, 空]

[A, 10, 空]

[A, 10, M, 空]

因为你在数组的第二个位置添加"M",所以 null 移动到下一个位置。如果要替换空值,请使用 al.set

https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

最新更新