import scala.collection.mutable.HashMap

object Freq {
  
  def freq[A](xs: Iterable[A]): HashMap[A, Int] = {
    val freqMap = new HashMap[A, Int]
    for (x <- xs) {
      freqMap(x) = 1 + freqMap.getOrElse(x, 0)
    }
    freqMap
  }

  def apply[A](xs: Iterable[A]) = freq(xs)
  
  def show[A](m: HashMap[A, Int], size: Int) = {
    for ((k, v) <- m) { println(k + " : " + "#" * (v / size)) }
  }

}


