Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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_Collections_Java 8_Java Stream - Fatal编程技术网

使用Java流迭代集合集合集合?

使用Java流迭代集合集合集合?,java,collections,java-8,java-stream,Java,Collections,Java 8,Java Stream,如何使用Java8流API重构此代码 for (Role role: user.getRoles()) { for (Privilege privilege: role.getPrivileges()) { System.out.println(privilege.getName()); } } 试着这样做: user.getRoles().stream() .map(role -> role.getPrivileges())

如何使用Java8流API重构此代码

for (Role role: user.getRoles()) {
    for (Privilege privilege: role.getPrivileges()) {
        System.out.println(privilege.getName());
    }
}
试着这样做:

user.getRoles().stream()
               .map(role -> role.getPrivileges())
               .forEach(privelege -> System.out.println(privelege.getName()));
您可以组合并:


您已经尝试编写了哪些代码?在本例中,一个无流的
user.getRoles().forEach(role->role.getPrivileges().forEach(p->System.out.println(p.getName());
也可以。
user.getRoles()
    .stream()
    .flatMap(role -> role.getPrivileges().stream())
    .map(Privilege::getName)
    .forEach(System.out::println)