31-07-2010, 09:56 AM
Code PHP :
<?php
val map = Map ("toto" -> 30, "tutu" -> 26, "zzz" -> 14, "aaaa" -> 56, "lolita" -> 3)
val start = System.currentTimeMillis()
for (i <- 0 to 1000000) {
map.reduceLeft {(a,b) => if (a._2 > b._2) b else a }._1
}
val end = System.currentTimeMillis()
println((end - start) + " ms")
913ms
Que lolita -> 3 soit au début ou à la fin du tableau.
Sur un tableau 3 fois plus grand exactement le résultat est de 3039ms quand lolita est au début et de 3060 quand elle est à la fin.
Le second exemple que j'ai donné :
Code PHP :
<?php
map.find { _._2 == map.values.min }.get._1