Stream - flatmap 用法

2019-12-10  本文已影响0人  鱼da王
  1. 背景

    // 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());
    
  2. 方法 使用 flatmap

    List<String> strings = users.stream()
      .flatMap(user -> user.getRelativeUsers().stream())
      .collect(Collectors.toList());
    
  3. 区别于map

    // 获取结果是嵌套list
    List<List<String>> lists = users.stream()
    .map(e -> e.getRelativeUsers())
    .collect(Collectors.toList());
    
上一篇下一篇

猜你喜欢

热点阅读