栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么Scala列表没有size字段?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么Scala列表没有size字段?

不能说size字段已被 删除
,因为LISP自LISP以来已经存在了50年,这种列表无处不在,并且它们在ML和Haskell中也很常见,两者在scala中都很重要。

根本原因是列表是递归结构。非空值

List
是一个事实
Cons(head: A, tail:List[A])
-除了实际上调用Cons
::
允许使用方便的中缀表示法。您可以访问尾部(不包含head元素的列表),这也是一个列表。而且,几乎所有时间都是如此。因此,在列表中包含计数并不意味着要添加一个整数,而是要与元素个数一样多。这是可行的,但肯定不是免费的。

如果与java的比较

linkedList
linkedList
则具有递归实现(基于Node,它或多或少类似于Cons,但是双向都有链接)。但是linkedList不是Node,它拥有它们(并保留它们的计数)。因此,尽管它具有递归实现,但是您不能递归对待它。如果您希望将linkedList的尾部作为linkedList,则必须删除头部并更改列表,或者将所有tail元素复制到新的linkedList中。因此,scala
List
和java的
linkedList
结构非常不同。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498250.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号