DListとは何ですか?質問する

DListとは何ですか?質問する

グーグルで調べてみたのですが、マイナーな有名人の話しか出てきませんでした。資料が不足しているので、Dリスト?

ベストアンサー1

これは次のような相違点リストです「関数としての差異リスト」

scala> val (l1, l2, l3) = (List(1, 2, 3), List(4, 5, 6), List(7, 8, 9))
l1: List[Int] = List(1, 2, 3)
l2: List[Int] = List(4, 5, 6)
l3: List[Int] = List(7, 8, 9)

効率的な先頭追加:

scala> l1 ::: l2 ::: l3
res8: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

非効率的な追加。中間リスト (l1 ++ l2) を作成し、次に ((l1 ++ l2) ++ l3) を作成します。

scala> l1 ++ l2 ++ l3  // inefficient
res9: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

DList追加内容を保存し、1 つの完全なリストを作成するだけで済みます。実質的には、次の呼び出しが実行されます。

scala> List(l1, l2, l3) reduceRight ( _ ::: _) 
res10: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

おすすめ記事