Trong Scala Tôi muốn để có thể viếtScala Immutable Multimap
val petMap = ImmutableMultiMap(Alice->Cat, Bob->Dog, Alice->Hamster)
Các cơ bản Bản đồ [Chủ đầu tư, Set [Pet]] nên có cả Bản đồ và Đặt bất biến. Đây là bản nháp đầu tiên cho ImmutibleMultiMap với đối tượng đồng hành:
import collection.{mutable,immutable}
class ImmutableMultiMap[K,V] extends immutable.HashMap[K,immutable.Set[V]]
object ImmutableMultiMap {
def apply[K,V](pairs: Tuple2[K,V]*): ImmutableMultiMap[K,V] = {
var m = new mutable.HashMap[K,mutable.Set[V]] with mutable.MultiMap[K,V]
for ((k,v) <- pairs) m.addBinding(k,v)
// How do I return the ImmutableMultiMap[K,V] corresponding to m here?
}
}
Bạn có thể giải quyết dòng nhận xét một cách thanh lịch không? Cả bản đồ và các bộ sẽ trở nên bất biến.
Cảm ơn!
Điều này có thể hữu ích như là một ví dụ về làm thế nào để chuyển đổi một có thể thay đổi vào một bản đồ bất biến: http://stackoverflow.com/questions/2817055/ chuyển đổi-mutable-to-immutable-bản đồ –