如何在List中交换其中的数据
List l=new ArrayList();
l.add(1);
l.add(2);
l.add(3);
l.add(4);
l.add(5);
l.add(6);
Object o=l.get(2);
Object o1=l.get(3);
Object temp=o;
o=o1;
o1=temp;
for(int i=0;i <l.size();i++)
System.out.print(l.get(i));
我这段代码为什么不能工作哪?输出还是123456
------解决方案--------------------List l=new ArrayList();
l.add(1);
l.add(2);
l.add(3);
l.add(4);
l.add(5);
l.add(6);
Object o=l.get(2);
l.remove(2);
l.add(3,o);
for(int i=0;i <l.size();i++)
System.out.print(l.get(i));
------解决方案--------------------l.get(2);
返回的已经是它的拷贝了,你在外面做交换,自然不会对列表中的数据作用。
另外,list.add(3), 隐含了封箱拆箱操作。