使用java中的流按顺序打印列表的数据

ras*_*hmi 0 java list java-8 java-stream flatmap

我有下面的清单。

List<String> firstName = List.of("Monika","Shweta", "Shruti","Anuradha");
List<String> lastName = List.of("Mishra","Hariharno","Sharma","Mishra");
List<Integer> sal = List.of(5000000,50,500,100000);

List<List<?>> finalList = List.of(firstName,lastName,sal);
finalList.stream().flatMap(s->s.stream()).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

当我使用它打印时,flatMap()它会打印所有firstname, lastname, 然后sal.

我想firstName : lastName:sal按顺序将所有这些打印在一起。例如

Monika:Mishra:5000000
Run Code Online (Sandbox Code Playgroud)

是否可以使用flatMap或任何其他java8功能?

Mih*_*ihe 6

是的,这是可能的,但我不推荐它:

List<List<?>> result = IntStream.range(0, sal.size())
        .mapToObj(i -> List.of(firstName.get(i), lastName.get(i), sal.get(i)))
        .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

相反,创建某种类型来表示您的对象。