• java中Optional和Stream流的部分操作


    package test9;
    
    import java.util.DoubleSummaryStatistics;
    import java.util.Optional;
    import java.util.stream.Collectors;
    import java.util.stream.Stream;
    
    public class StreamTest {
        public static void main(String[] args) {
            Optional<Integer> optional = Optional.of(123);
    
            System.out.println("创建一个Optional对象的方式一:" + optional.get());
    
            Optional<Integer> optional2 = Optional.ofNullable(null);
            System.out.println("Optional操作:对象是否为空:" + !optional2.isPresent());
    
            Optional<Double> result = Optional.of(4.0).flatMap(StreamTest::squareRoot).flatMap(StreamTest::inverse);
            System.out.println("Optional操作:flatMap可以循环调用其中的方法,4.0的平方根处以2是:" + result.get());
    
            String str = Stream.of("一", "二", "三", "四", "五", "六").collect(Collectors.joining(","));// joining参数可为空,即结果中将没有","
            System.out.println("流操作:将此流中的所有元素组合成一条字符串返回:	" + str);
    
            DoubleSummaryStatistics summary = Stream.of(12, 10, 54, 8, 132, 589, 4)
                    .collect(Collectors.summarizingDouble(Integer::intValue));
            System.out.println("流操作:最大值:" + summary.getMax() + "	最小值:" + summary.getMin() + "	平均值:" + summary.getAverage()
                    + "	总和:" + summary.getSum() + "	元素的个数:" + summary.getCount());
        }
    
        // 计算平方根
        private static Optional<Double> squareRoot(Double x) {
            return x < 0 ? Optional.empty() : Optional.of(Math.sqrt(x));
        }
    
        private static Optional<Double> inverse(Double x) {
            return x == 0 ? Optional.empty() : Optional.of(x / 2);
        }
        
        
    }

    打印结果:

    创建一个Optional对象的方式一:123


    Optional操作:对象是否为空:true


    Optional操作:flatMap可以循环调用其中的方法,4.0的平方根处以2是:1.0


    流操作:将此流中的所有元素组合成一条字符串返回: 一,二,三,四,五,六


    流操作:最大值:589.0 最小值:4.0 平均值:115.57142857142857 总和:809.0 元素的个数:7

  • 相关阅读:
    Javascript
    Javascript
    Javascript
    Java web 中Session有效时间设置
    给div添加滚动条
    Java获得绝对路径
    JS实现选择文件保存路径
    JS实现文件上传
    jsp日期插件My97DatePicker的使用
    Java重写equals()方法
  • 原文地址:https://www.cnblogs.com/li-yan-long/p/10339143.html
Copyright © 2020-2023  润新知