Java 从Arraylist中的Arraylist获取项目

Java 从Arraylist中的Arraylist获取项目,java,arraylist,Java,Arraylist,我制定了以下代码: Class class{ public void main(String args[]){ ArrayList<ArrayList>list = new ArrayList<>(); ArrayList<String> Stringlist1 = new ArrayList<>(); ArrayList<String> Stringlist2 = new ArrayList<>(); Stri

我制定了以下代码:

Class class{
public void main(String args[]){ 

 ArrayList<ArrayList>list = new ArrayList<>();
 ArrayList<String> Stringlist1 = new ArrayList<>();
 ArrayList<String> Stringlist2 = new ArrayList<>();
 Stringlist1.add("A");
 Stringlist1.add("C");
 Stringlist1.add("B");
 Stringlist2.add("tr");
 Stringlist2.add("rgd");
 Stringlist2.add("sg");


 }}
类{
public void main(字符串args[]){
ArrayList=新的ArrayList();
ArrayList Stringlist1=新的ArrayList();
ArrayList Stringlist2=新的ArrayList();
Stringlist1.添加(“A”);
Stringlist1.添加(“C”);
Stringlist1.添加(“B”);
Stringlist2.添加(“tr”);
Stringlist2.添加(“rgd”);
Stringlist2.添加(“sg”);
}}
我想从内部列表中获取项目,如:

for(ArrayList<String> ArrList: list){
 ArrList.get(0)
}
for(ArrayList ArrList:list){
ArrList.get(0)
}
请告诉我怎么做

ArrayList list=new ArrayList();
 ArrayList<ArrayList<String>> list = new ArrayList<>();
 ArrayList<String> stringlist1 = new ArrayList<>();
 ArrayList<String> stringlist2 = new ArrayList<>();
 list.add(stringlist1);
 list.add(stringlist2);
 stringlist1.add("A");
 stringlist1.add("C");
 stringlist1.add("B");
 stringlist2.add("tr");
 stringlist2.add("rgd");
 stringlist2.add("sg");
 for(ArrayList<String> arrList: list){
     for (String str : arrList) {
         // do something
     }
 }
ArrayList stringlist1=新的ArrayList(); ArrayList stringlist2=新的ArrayList(); 列表。添加(stringlist1); 列表。添加(stringlist2); stringlist1.添加(“A”); stringlist1.添加(“C”); stringlist1.添加(“B”); stringlist2.添加(“tr”); stringlist2.添加(“rgd”); stringlist2.添加(“sg”); 对于(ArrayList arrList:list){ for(字符串str:arrList){ //做点什么 } }
您可以尝试以下方法:

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

//add items to StringLists

list.add(Stringlist1);
list.add(Stringlist2);

//Now access elements in your for loop
ArrayList=newArrayList();
//将项目添加到字符串列表
列表。添加(Stringlist1);
列表。添加(Stringlist2);
//现在访问for循环中的元素
ArrayList list=new ArrayList();
ArrayList stringlist1=新的ArrayList();
ArrayList stringlist2=新的ArrayList();
stringlist1.添加(“A”);
stringlist1.添加(“B”);
stringlist1.添加(“C”);
stringlist2.添加(“tr”);
stringlist2.添加(“rgb”);
stringlist2.添加(“sg”);
列表。添加(stringlist1);
列表。添加(stringlist2);
//环路
System.out.println(list.get(0.get(0));

需要嵌套的for循环或for-each循环

您首先需要将子列表添加到父列表中,否则将无法访问子列表。除此之外,您的代码基本上是正确的,只是没有循环遍历每个子列表

下面的代码正是您所需要的,所以只需将其复制到主函数中即可

// create top level list
ArrayList<ArrayList<String>> list = new ArrayList<>();

// create sub lists
ArrayList<String> stringlist1 = new ArrayList<>();
ArrayList<String> stringlist2 = new ArrayList<>();

// add both sub lists to the parent list
list.add(stringlist1);
list.add(stringlist2);

// add elements to both lists
stringlist1.add("A");
stringlist1.add("C");
stringlist1.add("B");
stringlist2.add("tr");
stringlist2.add("rgd");
stringlist2.add("sg");

// loop through the top level list (will loop twice since the 2 elements are the sub lists) 
for(ArrayList<String> array: list) {
    System.out.println(array);

    // loop through each element of each sub list
    for (String str : array)
        System.out.println(str);
}

对于初学者来说,您需要先将内部列表放到外部列表中,然后才能将它们放回外部列表。我还强烈建议学习Java命名约定,然后遵循这些约定。此外,您当前的代码无法编译。请展示一个简短但完整的程序来演示问题。
// create top level list
ArrayList<ArrayList<String>> list = new ArrayList<>();

// create sub lists
ArrayList<String> stringlist1 = new ArrayList<>();
ArrayList<String> stringlist2 = new ArrayList<>();

// add both sub lists to the parent list
list.add(stringlist1);
list.add(stringlist2);

// add elements to both lists
stringlist1.add("A");
stringlist1.add("C");
stringlist1.add("B");
stringlist2.add("tr");
stringlist2.add("rgd");
stringlist2.add("sg");

// loop through the top level list (will loop twice since the 2 elements are the sub lists) 
for(ArrayList<String> array: list) {
    System.out.println(array);

    // loop through each element of each sub list
    for (String str : array)
        System.out.println(str);
}
[A, C, B]
A
C
B
[tr, rgd, sg]
tr
rgd
sg