グーグルで調べてみたのですが、マイナーな有名人の話しか出てきませんでした。資料が不足しているので、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)