繁体   English   中英

从Arraylist中的Arraylist中获取项目

[英]Get items from Arraylist in Arraylist

我写了这个代码:

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");


 }}

我想从内部列表中获取项目,例如:

for(ArrayList<String> ArrList: list){
 ArrList.get(0)
}

请告诉我该怎么做!

 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<ArrayList<String>>list = new ArrayList<>();

//add items to StringLists

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

//Now access elements in your for loop
ArrayList<ArrayList<String>> list = new ArrayList<>();

       ArrayList<String> stringlist1  = new ArrayList<>();
       ArrayList<String> stringlist2  = new ArrayList<>();

       stringlist1.add("A");
       stringlist1.add("B");
       stringlist1.add("C");

       stringlist2.add("tr");
       stringlist2.add("rgb");
       stringlist2.add("sg");

       list.add(stringlist1);
       list.add(stringlist2);

       //loop
       System.out.println(list.get(0).get(0));

需要嵌套的for循环或for每个循环。

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

下面的代码完全满足您的需求,因此只需将其复制到您的main函数中即可使用。

// 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

暂无
暂无

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

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