还有//list.addAll(1,al);//将替换后的集合插入list集合,执行这句话会多出个"QQ",
我运行了,并没有多个qq。- import java.util.*;
- class CollectionsDemo2
- {
- public static void main(String[] args)
- {
- List<String> list = new ArrayList<String>();
- list.add("abhjc");
- list.add("kdkd");
- list.add("egklc");
- list.add("erc");
- System.out.println(list);
- List<String> al = list.subList(1,3);
-
-
- System.out.println(list);
- System.out.println(al);
- Collections.fill(al,"QQ");
- System.out.println(al);
- System.out.println(list);
- list.addAll(1,al);
- System.out.println(list);
- }
- }
复制代码 从运行结果再次看出,al和list是共享数据的,当你把al的数据改为“QQ”,llist里面的两个元素也改为“QQ”了,然后你再插入了两个元素“QQ”,总共4个。
当然,这时候list已经更改了,后面al就不能再用了。 |