[英]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);
你当前的代码所做的是你在连续的起始位置多次添加所有num
到result
。 那是......奇怪的。
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);
}
这也将为您提供您要求的输出......但出于不同的原因。
您的结果列表需要嵌套。 它应该有这种形式:
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.