import scala.collection.mutable._
trait LowerCaseSet extends HashSet[String] {
override def +=(e: String) = {
super.+=(e.toLowerCase)
}
override def contains(e: String) = {
super.contains(e.toLowerCase)
}
override def -=(e: String) = {
super.-=(e.toLowerCase)
}
}
val lcSet = new HashSet[String] with LowerCaseSet
lcSet += "Scala"
lcSet += "Java"
println(lcSet)