 <pre class="lang-scala prettyprint-override"><code>import scala.collection._ import scala.collection.JavaConversions._ val myMap: mutable.Map[K,V] = ??? val unmodifiable: mutable.Map[K,V] = java.util.Collections.unmodifiableMap[K,V](myMap) val newMap = unmodifiable.asInstanceOf[scala.collection.Map[K,V]] </code></pre> <p>You can cast <code>newMap</code> to a <code>mutable.Map</code>, but modifications will throw <code>UnsupportedOperationException</code>.</p> <p>In my case, the maps may be small enough that <code>toMap</code> may be faster and use less memory.</p>