Scalaで整数のリストをSortedSetに変換する 質問する

Scalaで整数のリストをSortedSetに変換する 質問する

次のような 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_*

おすすめ記事