我有ArrayList元素列表,见下文。
List<List<String>> x = new ArrayList<List<String>>();
它包含一些数组列表元素。
例如
x.get(0)->[1,2,3,4],
x.get(1)->([5,6,7,8],
x.get(2)->[9,10,11,12],
x.get(3)->[13,14,15,16]
我想从x.get(0)访问元素3或从x.get(1)访问元素7如何调用??
答案 0 :(得分:2)
列表中的每个元素都是一个列表,并且具有提供List<T>
方法的相同界面,例如
T get(int index)
boolean isEmpty()
void add(T element)
您可以通过索引
访问内部列表中的元素List<List<String>> x = new ArrayList<List<String>>();
// ... some data initialised
String element_0_3 = x.get(0).get(3);
请注意,每个List<String>
元素都需要在访问之前创建。例如,为了在[0,0]坐标处添加新的String
:
List<List<String>> x = new ArrayList<List<String>>();
List<String> x0 = new ArrayList<>();
x0.add("foo"); // add "foo" as the first string element
x.add(x0); // add x0 as the first List<String> element
您还可以使用增强的for
循环读取值,而不使用索引:
List<List<String>> x = new ArrayList<List<String>>();
//...
for (List<String> ls : x) { // iteration on the x list
for (String s : ls) { // iteration on each intern list
System.out.println(s);
}
答案 1 :(得分:0)
你可以跟随... ...
List<List<String>> x = new ArrayList<List<String>>();
List<String> subX = x.get(7);
if(null != subX && subX.size() != 0) {
String element = subX.get(0);
}
答案 2 :(得分:0)
//使用for循环而不是foreach循环
直接访问任何列表成员List<List<Integer>> list = new ArrayList<List<Integer>>();
for(int i=0;i<list.size();i++){
for(int j=0;j<list.get(i).size();j++){
do_something_on(list.get(i).get(j);
}
}