我有两个数组列表,是否可以用第二个列表替换一个列表项。
ArrayList<String> a = new ArrayList<String>();
ArrayList<String> b = new ArrayList<String>();
a.add("testone");
a.add("testtwo");
a.add("testthree");
b.add("demoone");
b.add("demotwo");
System.out.println("List values are: "+ a);
有没有办法用第二个列表元素替换第一个列表。因此,如果我打印第一个数组列表,它应该打印以下输出
[demoone, demotwo]
答案 0 :(得分:3)
最简单的方法是分配列表b以列出
a=b
答案 1 :(得分:3)
我想你需要:
a = b;
System.out.println("List values are: "+ a);
答案 2 :(得分:3)
选项1:
a = b; //copy same list reference
选项2:
a.clear(); //clear all existing items
a.addAll(b); //copy all
选项3:
a = (ArrayList<String>)b.clone(); //shallow copy
答案 3 :(得分:2)
因此,有两种方法可以根据要求执行此操作。
您需要引用变量b
引用的列表才能使用引用变量a
。在这种情况下,a
引用的原始列表不需要修改,只是引用变量a
指向第二个列表(最初由引用变量b
引用)。 / p>
a = b;
System.out.println("List values are: "+ a);
您需要引用变量a
引用的列表,以使b
引用的列表中存在项目。在这种情况下,必须修改最初由a
引用的实际列表。将列表传递给应该修改列表的方法时,可能需要这样做。
a.clear();
a.addAll(b);
System.out.println("List values are: "+ a);