JAVA 使用 Stream 中 Collectors 工具类 基础操作

简介: JAVA 使用 Stream 中 Collectors 工具类 基础操作

JAVA 使用 Stream 中 Collectors 工具类 基础操作

求取最大值、最小值、求和、求平均值

image.png

class A {
    companion object {
        private val list = ArrayList<Test>()
        @RequiresApi(Build.VERSION_CODES.N)
        @JvmStatic
        fun main(args: Array<String>) {
            println("-----------------------------------")
            list.add(Test(120, "语文"))
            list.add(Test(12, "数学"))
            list.add(Test(70, "英语"))
            list.add(Test(92, "化学"))
            list.add(Test(10, "物理"))
            list.add(Test(96, "生物"))
            //求取最大值
            val maxBy = list.stream().collect(Collectors.maxBy(Comparator.comparing(Test::score)))
            //求取最小值
            val minBy = list.stream().collect(Collectors.minBy(Comparator.comparing(Test::score)))
            //平均值 averagingInt\averagingDouble、averagingInt、averagingLong
            val averagingInt = list.stream().collect(Collectors.averagingInt(Test::score))
            println("-maxBy----${maxBy}-minBy-${minBy}---averagingInt-${averagingInt}")
            //summarizingDouble、summarizingInt、summarizingLong  TODO 求得:计数、求平均、求和、最大、最小
            val summarizingInt = list.stream().collect(Collectors.summarizingInt(Test::score))
            println("-summarizingInt--总数--${summarizingInt.count} 总分--${summarizingInt.sum} 平均分--${summarizingInt.average} 最小--${summarizingInt.min} 最大--${summarizingInt.max} ")
        }
    }
    data class Test(var score: Int, val suject: String = "")
}
目录
相关文章
|
9月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
8月前
|
Java 容器
(Java)Java里JFrame窗体的基础操作(组件-1)
如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,当然这只是在不熟悉组件的前提下。如果深入了解了组件,那么它有着非常多的组件,这些组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入
168 1
|
9月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
390 100
|
9月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
381 101
|
9月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
452 101
|
10月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
460 188
|
10月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
366 92
|
11月前
|
Oracle Java 关系型数据库
掌握Java Stream API:高效集合处理的利器
掌握Java Stream API:高效集合处理的利器
489 80
|
11月前
|
安全 Java API
Java 8 Stream API:高效集合处理的利器
Java 8 Stream API:高效集合处理的利器
401 83
|
8月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
313 1