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

使用java流转换嵌套列表

使用java流转换嵌套列表,java,java-8,functional-programming,java-stream,Java,Java 8,Functional Programming,Java Stream,是否可以使用Streams获得相同的结果(正如我目前使用以下嵌套for循环获得的结果) List<String> people = Arrays.asList("John", "Adam"); List<String> dogs = Arrays.asList("alex", "rex"); List<List<String>> list = new ArrayList<List<String>>(); list.add(

是否可以使用
Stream
s获得相同的结果(正如我目前使用以下嵌套for循环获得的结果)

List<String> people = Arrays.asList("John", "Adam");
List<String> dogs = Arrays.asList("alex", "rex");

List<List<String>> list = new ArrayList<List<String>>();
list.add(people);
list.add(dogs);

List<List<String>> list2 = new ArrayList<List<String>>();
for (int i = 0; i < list.size(); i++) {
    list2.add(new ArrayList<>());
    for (int j = 0; j < list.get(i).size(); j++) {
        list2.get(i).add(list.get(i).get(j).toUpperCase());
    }
}
System.out.println(list2);
使用以下

list.stream()

我只能得到这样的东西:

[JOHN, ADAM, ALEX, REX]

flatMap
对您没有帮助,因为您不需要平面输出。您应该将每个内部
列表
分别转换为大写的
列表
,然后将所有这些
列表
收集到最终的嵌套输出
列表

List<List<String>> list2 = list.stream()
        .map(l -> l.stream().map(String::toUpperCase).collect(Collectors.toList()))
        .collect(Collectors.toList());
List<List<String>> list2 = list.stream()
        .map(l -> l.stream().map(String::toUpperCase).collect(Collectors.toList()))
        .collect(Collectors.toList());
[[JOHN, ADAM], [ALEX, REX]]