繁体   English   中英

将一个ArrayList的元素添加到另一个ArrayList

[英]Add elements of one ArrayList to another ArrayList

是否可以将一个Arraylist的元素添加到另一个Arraylist? 例如,如果Arraylist在索引0,1,2,3,4中有元素3,6,3,8,5,现在我想将3,6,3,8,5添加到索引0中的另一个ArrayList,是有可能吗?

ArrayList<String> num = new ArrayList<String>();
 num.add("3");
 num.add("6");
 num.add("3");
 num.add("8");
 num.add("5");
ArrayList<String> result = new ArrayList<String>();
 for (int i = 0; i < num.size(); i++)
 {
        result.addAll(i,num);   
 }

我试过这个,但它没有用。 我想要的是当我尝试System.out.println(result.get(0)); 结果必须是[3 6 3 8 5]。

我想你要做的是这样的:

for (int i = 0; i < num.size(); i++) {
    result.add(i, num.get(i)); 
}

或者只是这个:

result.addAll(num);

你当前的代码所做的是你在连续的起始位置多次添加所有numresult 那是......奇怪的。


UPDATE

我想要的是当我尝试System.out.println(result.get(0)); 结果必须是[3 6 3 8 5]

啊......我明白了......你正在尝试创建一个字符串列表,其中字符串是输入列表的表示:

做这个:

for (int i = 0; i < num.size(); i++) {
    result.add(i, num.toString()); 
}

这将为您提供您要求的输出。

另一种可能性是你想要一个字符串列表列表:

ArrayList<ArrayList<String>> result = new ArrayList<>();
for (int i = 0; i < num.size(); i++) {
    result.add(i, num); 
}

将为您提供您要求的输出......但出于不同的原因。

只需复制您可以执行的所有元素

ArrayList<String> result = new ArrayList<String>(num);

演示

如果要复制特定索引处的所有元素,则必须更改结果ArrayList

ArrayList<List<String>> result = new ArrayList<List<String>>();
result.add(0, num);   // 0 is the index

演示

您的结果列表需要嵌套。 它应该有这种形式:

List<List<Integer>> result = new ArrayList<>();

然后你可以这样做

result.add(0, num);

如果你把它放在一个循环中,不要使用所有方法,你应该使用add

如果你想使用addAll将它放在循环之外。

ArrayList<String> obj1 = new ArrayList<String>();

obj1.add("3");
obj1.add("6");
obj1.add("3");
obj1.add("8");
obj1.add("5");

ArrayList obj2 = new ArrayList();

obj2.add(0, obj1);;

System.out.println("Size of the arraylist is --> "+obj2.size());

System.out.println("Value at index 0 --> "+obj2);
ArrayList<String> num = new ArrayList<String>();
 num.add("3");
 num.add("6");
 num.add("3");
 num.add("8");
 num.add("5");
ArrayList<String> result = new ArrayList<String>();
result.addAll(num);   

试试这个示例代码

ArrayList<ArrayList<String>> nodes = new ArrayList<ArrayList<String>>();
  ArrayList<String> nodeList = new ArrayList<String>();
   nodes.add(nodeList);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM