什么是 DList? [英] What is a DList?
本文介绍了什么是 DList?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试使用谷歌搜索,但我得到的只是关于小名人的故事.鉴于缺乏文档,什么是 DList?
I tried googling for this but all I got were stories about minor celebrities. Given the lack of documentation, what is a DList?
推荐答案
这是一个差异列表,遵循 "差异列表作为函数"
It's a Difference List, along the lines of "Difference List as functions"
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)
Inefficient appending. This creates an intermediate list (l1 ++ l2), then ((l1 ++ l2) ++ l3)
scala> l1 ++ l2 ++ l3 // inefficient
res9: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)
DList
存储appends,只需要创建一个完整的列表,有效调用:
DList
stores up the appends, and only needs to create one complete list, effectively invoking:
scala> List(l1, l2, l3) reduceRight ( _ ::: _)
res10: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)
这篇关于什么是 DList?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文