如何在java中用一个列表项替换一个列表项?

时间:2015-06-04 10:40:22

标签: java arraylist collections

我有两个数组列表,是否可以用第二个列表替换一个列表项。

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] 

4 个答案:

答案 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)

因此,有两种方法可以根据要求执行此操作。

  1. 您需要引用变量b引用的列表才能使用引用变量a。在这种情况下,a引用的原始列表不需要修改,只是引用变量a指向第二个列表(最初由引用变量b引用)。 / p>

    a = b;
    System.out.println("List values are: "+ a);
    
  2. 您需要引用变量a引用的列表,以使b引用的列表中存在项目。在这种情况下,必须修改最初由a引用的实际列表。将列表传递给应该修改列表的方法时,可能需要这样做。

    a.clear();
    a.addAll(b);
    System.out.println("List values are: "+ a);