2013-12-08 19 views
2

可以說我有擁有它裏面的家庭成員,而不是真正爲這個問題只要有一個叫def member(m : Member) : BooleanFamily提供的功能,它返回true相關的結構類Family如果會員m是家庭的「部分」。上高效映射成員擁有它們的結構

但最重要的是,一個成員可以是多個家庭的一部分。

我有一個單獨的所有成員列表,並希望創建成員和家人之間的映射快速查找。

所以我有這樣的事情:

val allMembers : Set[Member] = getAllMembers() 
val allFamilies : Set[Family] = getAllFamilies() 

val memberFamilyMap : Map[Member, Set[Family]] = ??? 

什麼是創造上述memberFamilyMap給出的Family.member功能最有效的方法,而且成員可以是多個家庭中的一員?有

allMembers.map(m => m -> allFamilies.filter(_.member(m))).toMap 

可能:我想用一個換理解與兩個的發電機,但事情變得有點毛毛(我有點新的Scala)

回答

5

我會做這樣的儘管更有效率。