Java8中Stream流求最大值最小值

这篇具有很好参考价值的文章主要介绍了Java8中Stream流求最大值最小值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java中各种类型用Stream流求最大值最小值

一、BigDecimal 求最大值和最小值

1. stream().reduce()实现

        List<BigDecimal> list = new ArrayList<>(Arrays.asList(new BigDecimal("1"), new BigDecimal("2")));
        BigDecimal max = list.stream().reduce(list.get(0), BigDecimal::max);
        BigDecimal min = list.stream().reduce(list.get(0), BigDecimal::min);

2. stream().max()或stream().min()实现

        List<BigDecimal> list = new ArrayList<>(Arrays.asList(new BigDecimal("1"), new BigDecimal("2")));
        BigDecimal max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
        BigDecimal min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);

二、Integer 求最大值和最小值

1. stream().reduce()实现

        List<Integer> list = new ArrayList<>(Arrays.asList(1, 2));
        Integer max = list.stream().reduce(list.get(0), Integer::max);
        Integer min = list.stream().reduce(list.get(0), Integer::min);

2. Collectors.summarizingInt()实现

        List<Integer> list = new ArrayList<>(Arrays.asList(1, 2));
        IntSummaryStatistics intSummaryStatistics = list.stream().collect(Collectors.summarizingInt(x -> x));
        Integer max = intSummaryStatistics.getMax();
        Integer min = intSummaryStatistics.getMin();

3. stream().max()或stream().min()实现

        List<Integer> list = new ArrayList<>(Arrays.asList(1, 2));
        Integer max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
        Integer min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);

三、Long 求最大值和最小值

1. stream().reduce()实现

        List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L));
        Long max = list.stream().reduce(list.get(0), Long::max);
        Long min = list.stream().reduce(list.get(0), Long::min);

2. Collectors.summarizingLong()实现

        List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L));
        LongSummaryStatistics summaryStatistics = list.stream().collect(Collectors.summarizingLong(x -> x));
        Long max = summaryStatistics.getMax();
        Long min = summaryStatistics.getMin();

3. stream().max()或stream().min()实现

        List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L));
        Long max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
        Long min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);

四、Double 求最大值和最小值

1. stream().reduce()实现

        List<Double> list = new ArrayList<>(Arrays.asList(1d, 2d));
        Double max = list.stream().reduce(list.get(0), Double::max);
        Double min = list.stream().reduce(list.get(0), Double::min);

2. Collectors.summarizingLong()实现

        List<Double> list = new ArrayList<>(Arrays.asList(1d, 2d));
        DoubleSummaryStatistics summaryStatistics = list.stream().collect(Collectors.summarizingDouble(x -> x));
        Double max = summaryStatistics.getMax();
        Double min = summaryStatistics.getMin();

3. stream().max()或stream().min()实现

        List<Double> list = new ArrayList<>(Arrays.asList(1d, 2d));
        Double max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
        Double min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);

文章来源地址https://www.toymoban.com/news/detail-797358.html

到了这里,关于Java8中Stream流求最大值最小值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 获取List集合中的最大值和最小值

    实现获取List集合中的最大值和最小值共有以下两种方式,根据自己的场景选择合适的方法。 目录 Collections 1、String、Integer、Double类型 2、对象类型 排序 1、Integer类型 2、 基本排序方式: 1、String、Integer、Double类型 当List中元素为String、Integer、Double类型时,可以使用 Collectio

    2024年02月04日
    浏览(57)
  • ArcGIS中查看栅格影像最大值最小值的位置

    如果只是想大概获取栅格影像中最大值最小值的位置进行查看,可以不用编写程序获取具体的行列信息,只需要利用分类工具即可。 假设有一幅灰度影像数据,如下图所示。 想要查看最大值2116的大概位置在哪里,可以右击选择图层属性,首先选择符号系统,唯一值计算栅格

    2024年02月21日
    浏览(58)
  • 数据结构:求一维数组中的最大值最小值

    思路: 对于一维数组中的元素,赋max,min的初值为数组的第一个元素,然后将数组中剩余的元素依次和max值最小值比较。 代码: 分析:该算法的最好、最坏和平均情况下的元素比较次数分别为n-1,2(n-1),3(n-1)/2 该算法的时间最主要花费在元素的比较上。最好情况是a中元素呈

    2024年02月07日
    浏览(48)
  • sql server 求多个字段中的最小值和最大值

    程序代码园发文地址: sql server 求多个字段中的最小值和最大值-程序代码园 小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,sql server 求多个字段中的最小值和最大值 http://www.byqws.com/blog/2143.html      今天在工作中,遇到一个需求,需要把最近6个月的出库数据,去掉一个

    2024年01月20日
    浏览(50)
  • Python如何求出矩阵中的最大值最小值以及所在的位置

    想着记录下来吧,代码小白,一点一点来。 题目简述:有个50x53的矩阵G,第53列是每一行的总和,目的是求出第53列的最小值,并输出最小值所在行的所有元素。 因为要根据第52列来找出最小值,调用min()函数便能求出最小值; min = G[:,52].min() 结果为13561.0,发现对应的是矩

    2024年02月12日
    浏览(44)
  • 使用SQL 统计表最大值,最小值,平均值,中位数值

    问:有一个postgres数据表,表中有update_time, create_time关于时间戳的字段,选择某个时间段,计算出update_time减去create_time的值做为耗时时间的字段duration_time,统计出在这段时间内耗时时间的平均值,中位数值,最大值,和最小值,请问如何通过sql语句实现此统计? 答:您好!

    2024年02月14日
    浏览(44)
  • c语言200例 048 使用指针查找数组中的最大值和最小值

    关键: 1.使用指向一维数组的指针,遍历一维数组,从而实现查找数组中的最大值和最小值 2.自定义函数,进行最大值和最小值的筛选   运行结果如下 参考代码如下

    2024年02月03日
    浏览(48)
  • 任意给定 n 个整数,求这 n 个整数序列的和、最小值、最大值

    编程思路是: 1.先创建并初始化min(最小值),max(最大值),sum(和),n(即将输入的n个整数的范围),a(用户输入的数字,a1,a2,a3) 2.cin读入用户输入的范围n,并cout一段文字提示用户 3.用for循环,录入小于n次的a的数据,用户可用空格或回车换行输入之后的文字(可以在循环

    2024年02月07日
    浏览(43)
  • 给定一个 5×5 的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。

     遍历数组,将数组内的元素与ma x进行对比并储存最大值和坐标值。   列的实现与行的类似  打印鞍点及其坐标  

    2024年02月03日
    浏览(50)
  • C++-map:获取map中value最大值、最小值对应的键值对

    简述:通过调用 max_element 函数,给定其特定的比较方式,将会获得在给定比较方式下得结果.上述代码中,给定的比较方式是根据 value 值进行比较, 相当于重构了 号.将返回最大值 . 使用匿名函数重构: 打印结果: C++获取map中value最大最小值对应的键值对_普通网友的博客-CSDN博客

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包