Stream - flatmap 用法
2019-12-10 本文已影响0人
鱼da王
-
背景
// Entity public static class User { private String name; private List<String> relativeUsers; }
// 合并UserList中的relativeUsers List<User> users = Arrays.asList( User.builder() .name("1").relativeUsers(Arrays.asList("11", "12")).build(), User.builder() .name("2").relativeUsers(Arrays.asList("22", "23")).build());
-
方法 使用 flatmap
List<String> strings = users.stream() .flatMap(user -> user.getRelativeUsers().stream()) .collect(Collectors.toList());
-
区别于map
// 获取结果是嵌套list List<List<String>> lists = users.stream() .map(e -> e.getRelativeUsers()) .collect(Collectors.toList());