java中如何对集合中元素的修改
publicclassCollectionTest{privatevoidtestCol(){Listcol=newArrayList();col.add(1);col....
public class CollectionTest {
private void testCol(){
List col=new ArrayList();
col.add(1);
col.add(3);
col.add(3);
col.add(2);
Iterator it= col.iterator();
while(it.hasNext()){
int a =(Integer)it.next();
System.out.println("a=="+a);
}
Object objs[] = col.toArray();
col.clear();
for(int i=0;i<objs.length;i++){
if(objs[i].equals(3)){
objs[i] = 4;
}
col.add(objs[i]);
}
it= col.iterator();
while(it.hasNext()){
int a =(Integer)it.next();
System.out.println("4a=="+a);
}
}
输出后显示a==1
a==3
a==3
a==2
4a==1
4a==4
4a==4
4a==2
但是我只想要a的第二项的3修改成4,第三项还是3,结果到4a的输出后全部的3都变成4了
有什么好办法吗?、 展开
private void testCol(){
List col=new ArrayList();
col.add(1);
col.add(3);
col.add(3);
col.add(2);
Iterator it= col.iterator();
while(it.hasNext()){
int a =(Integer)it.next();
System.out.println("a=="+a);
}
Object objs[] = col.toArray();
col.clear();
for(int i=0;i<objs.length;i++){
if(objs[i].equals(3)){
objs[i] = 4;
}
col.add(objs[i]);
}
it= col.iterator();
while(it.hasNext()){
int a =(Integer)it.next();
System.out.println("4a=="+a);
}
}
输出后显示a==1
a==3
a==3
a==2
4a==1
4a==4
4a==4
4a==2
但是我只想要a的第二项的3修改成4,第三项还是3,结果到4a的输出后全部的3都变成4了
有什么好办法吗?、 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询