如何在Java中获取列表列表的长度?

2022-08-31 16:11:29

如果我有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

依此类推,这些是根列表的子列表。


答案 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

答案 2

爪哇 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);
     }
}