object ASCIIFrequency {
def getASCIIFrequency(str: String): Map[Char, Int] = {
str.foldLeft(Map.empty[Char, Int]) { (frequencyTable, ch) =>
frequencyTable + (ch -> (frequencyTable.getOrElse(ch, 0) + 1))
}
}
def main(args: Array[String]): Unit = {
val str = "scala java c c++ c#"
val frequencyTable = getASCIIFrequency(str)
println(frequencyTable)
}
}
/*
run:
HashMap(s -> 1, j -> 1, a -> 4, -> 4, v -> 1, l -> 1, # -> 1, + -> 2, c -> 4)
*/