如何将嵌套列表转换为java中的单个列表?
List list = new ArrayList();
List newList = new ArrayList();
List<Integer> list1 = new ArrayList<Integer>();
list1.add(2);
list1.add(4);
list.add(5);
list.addAll(list1);
list.add(6);
如何将list的元素添加到newList,以便在我打印newList
时打印
[5,2,4,6]
答案 0 :(得分:2)
除非你有什么东西没有告诉我们,否则它只是重复你已经做过的事情:
newList.addAll(list);
正如在评论中所说,你真的应该为列表变量使用完整的通用类型:
List<Integer> list = new ArrayList<>();
List<Integer> newList = new ArrayList<>();
List<Integer> list1 = new ArrayList<>();
答案 1 :(得分:0)
您不应该使用raw types,并且可以致电newList.addAll(list);
-
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(); // <-- diamond operator, Java 7 and up.
List<Integer> newList = new ArrayList<>();
List<Integer> list1 = new ArrayList<>();
list1.add(2);
list1.add(4);
list.add(5);
list.addAll(list1);
list.add(6);
newList.addAll(list); // <-- here
System.out.println(newList);
}
输出是请求的
[5, 2, 4, 6]
答案 2 :(得分:0)
您已经使用了
的可能方式 list.addAll(list1)
另一种方式是遍历列表resp。使用它的迭代器 获取并将所有项目放入newList。
请查看API以获取更详细的信息:http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#addAll(java.util.Collection)
答案 3 :(得分:0)
for(int i=0;i<list.size();i++){
if(list.get(i) instanceof Integer){
newlist.add(list.get(i));
}else{
newlist.addAll((ArrayList)list.get(i));
}
}
答案 4 :(得分:0)
必须正确定义必须包含另一个列表的列表,其余工作将相同。请参阅以下内容:
import java.util.List;
import java.util.ArrayList;
public class demo2 {
public static void main(String[] args) {
List<List<Integer>> nestedList = new ArrayList<>();
List<Integer> list = new ArrayList<>();
list.add(1);
nestedList.add(list);
System.out.println(nestedList);
}
}