小编Emi*_*tis的帖子

合并List <T>和List <Optional <T >>

鉴于:

    List<Integer> integers = new ArrayList<>(Arrays.asList(
            10, 12
    ));

    List<Optional<Integer>> optionalIntegers = Arrays.asList(
            Optional.of(5),
            Optional.empty(),
            Optional.of(3),
            Optional.of(2),
            Optional.empty()
    );

    List<Integer> unwrappedOptionals = optionalIntegers.stream()
            .filter(Optional::isPresent)
            .map(Optional::get)
            .collect(Collectors.toList());

    integers.addAll(unwrappedOptionals);
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来展开Optionals,或者将它们合并到一起的其他方式List<Integer>?List在做之前将它们收集到新的中感觉非常浪费addAll().

java java-8 java-stream

2
推荐指数
2
解决办法
718
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1