This page has a description of Map\'s getOrElseUpdate usage method:
getOrElseUpdate
object WithCache{ val cacheFun1 = collection.mutable.Map[Int, Int]() def
On the scala mailing list they sometimes point to the MapMaker in the Google collections library. You might want to have a look at that.