Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Java列表列表中的值_Java_List - Fatal编程技术网

获取Java列表列表中的值

获取Java列表列表中的值,java,list,Java,List,我有一个列表数组 List <List<String>> fname; System.out.println(fname.get(0).get(0));-->gives 1st file name 列表fname; System.out.println(fname.get(0.get(0));-->给出第一个文件名 我想检索数组列表中的每个元素,而不使用两个for循环(作为我想到的解决方案) 因为它会增加Java 8中任何帮助的复杂性,所以您只需使用一条语句:

我有一个列表数组

List <List<String>> fname;

System.out.println(fname.get(0).get(0));-->gives 1st file name
列表fname;
System.out.println(fname.get(0.get(0));-->给出第一个文件名
我想检索数组列表中的每个元素,而不使用两个for循环(作为我想到的解决方案)
因为它会增加Java 8中任何帮助的复杂性,所以您只需使用一条语句:

fname.forEach(sublist -> sublist.forEach(element -> System.out.println(element)));

注意,虽然这是一个循环,但使用嵌套for循环更容易实现

List<List<String>> list;
int x = 0;
int y = 0;
while(x < list.size())
{
    if(y < list.get(x).size())
    {
        //do stuff with list.get(x).get(y)
        y++;
    }
    else
    {
        x++;
        y = 0;
    }
}
列表;
int x=0;
int y=0;
而(x
循环遍历所有元素的一种更可取的方法,如果不是更快,也应该同样快

List<List<String>> list;
for(List<String> l : list)
    for(String s : l)
        //do stuff with s
列表;
对于(列表l:列表)
for(字符串s:l)
//用手杖做事

hw两个循环是否会增加复杂性?您只需执行
System.out.println(fname)要将它们全部打印出来吗?:)当它是两个循环时,时间复杂度将是O(n^2),您有一个嵌套列表。您可以使用一些语法技巧来避免编写嵌套循环,但最终运行时的复杂性不会改变。循环在代码中不明显的事实并不意味着它不在某个地方。@nafas,不,您将打印n个项目,复杂性为O(n)。@nafas有m个列表(对于某些m),mate,而不是2个,并且包含的项目总数为n(对于某些n),其顺序不一定与m^2相同。复杂性是根据输入的大小来衡量的,在本例中是n。为什么不使用两个for循环呢?我也在考虑一些流,但即使是嵌套循环,我对java 8不太熟悉,但我会了解它的。谢谢你的注意:)
if(y
应该是
if(y