次のような Int のリストがある場合:
val myList = List(3,2,1,9)
項目が最小から最大の順にソートされている、Int の List または Seq から SortedSet を作成する正しい/推奨される方法は何ですか?
もしあなたが私の頭に銃を突きつけたら、私はこう言うでしょう。
val itsSorted = collection.SortedSet(myList)
しかし、List[Int]に暗黙的な順序が定義されていないというエラーが発生します。
ベストアンサー1
使用:
collection.SortedSet(myList: _*)
あなたが使用した方法では、コンパイラーはSortedSet[List[Int]]
ではなくを作成しようとしていると認識しますSortedSet[Int]
。そのため、 の暗黙的な順序付けがないというエラーが発生しますList[Int]
。
A*
メソッドのシグネチャ内のtype の繰り返しパラメータに注意してください。
def apply [A] (elems: A*)(implicit ord: Ordering[A]): SortedSet[A]
使用時myList
のシーケンス引数として扱うための型注釈。A
_*