【发布时间】:2015-10-25 22:23:34
【问题描述】:
(对 scala 来说还是新手)我有一个 List[SortedSet[A]],我想要一个包含所有(唯一且已排序的)元素的唯一 SortedSet[A]。我该怎么做?
我的目标是:我有一个类,比如Container,其中包含Element 的列表和(sub)Container 的列表。这个类应该实现一个递归的getSortedElements(): SortedSet[Element] 方法。
所以我很容易得到这个无效代码:
case class Container(myElements: List[Element], myContainers: List[Container]){
def getSortedElements(): SortedSet[Element] =
SortedSet(myElements) ++ SortedSet(myContainers.map(_.getSortedElements))
}
【问题讨论】:
-
澄清一下,您希望输出为
SortedSet,其中所有项目都在List中的所有SortedSets 中? -
是的。
List(SortedSet(3,5,7),SortedSet(2,5,8))=>SortedSet(2,3,5,7,8)但不是整数