簡體   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