[英]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.