求取最大值、最小值、求和、求平均值
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 = "")
}