来看这三种不同的写法
object strreplace {
def main(args: Array[String]): Unit = {
val loop = 50000000;
{
val start = System.currentTimeMillis()
for (i <- 0 to loop) {
val a = ("123456".replace("2", "00").replace("3", "00") )
// println(a)
}
val finish = System.currentTimeMillis()
println( (finish-start)/1000.0 + " seconds")
}
{
val start = System.currentTimeMillis()
for (i <- 0 to loop) {
val a = ("123456".map { x => if (x == '2' || x == '3') "00" else x }.mkString("") )
// println(a)
}
val finish = System.currentTimeMillis()
println( (finish-start)/1000.0 + " seconds")
}
{
val start = System.currentTimeMillis()
for (i <- 0 to loop) {
val a = ("123456".replaceAll("[23]", "00") )
// println(a)
}
val finish = System.currentTimeMillis()
println( (finish-start)/1000.0 + " seconds")
}
}
}
输出如下
36.898 seconds 16.776 seconds 23.287 seconds