天天看點

Lambda 實戰-兩個不同的集合合并成一個新的集合

public static void main(String[] args) {
        List<ActivityLiveSignUserInfoBo> activityLiveSignUserInfoBos = Lists.newArrayList();
        activityLiveSignUserInfoBos.add(ActivityLiveSignUserInfoBo.builder().userId(1L).signTime(new Date()).build());
        List<UserParentInfoIdAndNameBo> userParentInfoIdAndNameBoList =Lists.newArrayList();
        userParentInfoIdAndNameBoList.add(UserParentInfoIdAndNameBo.builder().id(1L).userName("aaa").build());
                List<ActivityLiveSignUserInfo> signUserInfos = activityLiveSignUserInfoBos.stream()
                .flatMap(x -> userParentInfoIdAndNameBoList.stream()
                        .filter(y -> x.getUserId().equals(y.getId()))
                        .map(y -> ActivityLiveSignUserInfo.builder().userName(y.getUserName()).signTime(x.getSignTime()).build()))
                .collect(Collectors.toList());
        System.out.println(signUserInfos);
    }