大数据全系列 教程
1869个小节阅读:467.3k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
柯里化是一个数学家Curry的音译。
将无关的参数分离开,提高函数效率。
xxxxxxxxxx
package com.itbaizhan.chapter03
//柯里化函数
object FunctionCurry {
def main(args: Array[String]): Unit = {
def funcA(): Int = {
var result:Int = 1
for(i <- 1 to 10){
result = i
Thread.sleep(10)
}
result
}
def funcB(): Int = {
var result:Int = 1
for(i <- 1 to 20){
result = i
Thread.sleep(10)
}
result
}
def funcC(a:Int,b:Int): Int ={
a+b
}
def funcD(a:Int)(b:Int): Int ={
a+b
}
val start1: Long = System.currentTimeMillis()
println(funcC(funcA(),funcB()))
val end1: Long = System.currentTimeMillis()
println("------------未使用柯里化用时:"+(end1-start1))
val start2: Long = System.currentTimeMillis()
println(funcD(funcA())(funcB()))
val end2: Long = System.currentTimeMillis()
println("------------使用柯里化用时:"+(end2-start2))
}
}
运行输出:
xxxxxxxxxx
30
------------未使用柯里化用时:695
30
------------使用柯里化用时:328
用时几乎缩减百分之五十。