[英]How do I get length of list of lists in Java?
如果我在 Java 中有一个List<List<String>>
数据,我可以通过代码获取第一个列表的长度:
int lengthData = data.get(0).size();
但是如何在不遍历列表列表的情况下获取结构中列表的数量呢?
可能我说的有点不清楚。 我有这样的结构:
List<List<String>> data
我看到:
int i = data.size();
将等于 1,因为它是根列表。 所以我想知道有多少子列表。 像这样遍历结构:
for (List<String> l : data) {
total ++;
}
只给我一个我觉得奇怪的结果 1。
我有以下形式的数据:
List 1 ==> 1, 2, 3, 4
List 2 ==> 3, 8. 9, 1
等等,这些是根列表的子列表。
只需使用
int listCount = data.size();
这会告诉您有多少个列表(假设没有一个为空)。 如果你想知道有多少个字符串,你需要迭代:
int total = 0;
for (List<String> sublist : data) {
// TODO: Null checking
total += sublist.size();
}
// total is now the total number of strings
爪哇 8
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class HelloWorld{
public static void main(String []args){
List<List<String>> stringListList = new ArrayList<>();
stringListList.add(Arrays.asList(new String[] {"(0,0)", "(0,1)"} ));
stringListList.add(Arrays.asList(new String[] {"(1,0)", "(1,1)", "(1,2)"} ));
stringListList.add(Arrays.asList(new String[] {"(2,0)", "(2,1)"} ));
int count=stringListList.stream().mapToInt(i -> i.size()).sum();
System.out.println("stringListList count: "+count);
}
}
导入 java.util.ArrayList;
公共类测试类{
public static void main(String[] args) {
ArrayList<ArrayList<String>> listOLists = new ArrayList<ArrayList<String>>();
ArrayList<String> List_1 = new ArrayList<String>();
List_1.add("1");
List_1.add("2");
listOLists.add(List_1);
ArrayList<String> List_2 = new ArrayList<String>();
List_2.add("4");
List_2.add("5");
List_2.add("10");
List_2.add("11");
listOLists.add(List_2);
for (int i = 0; i < listOLists.size(); i++) {
System.out.print("list " + i + " :");
for (int j = 0; j < listOLists.get(i).size(); j++) {
System.out.print(listOLists.get(i).get(j) + " ;");
}
System.out.println();
}
}
}
最外列表中包含列表的计数
int count = data.size();
lambda 获取包含的内部列表的计数
int count = data.stream().collect( summingInt(l -> l.size()) );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.