我对scala很新,我无法解决这个(非常)微不足道的问题。
我知道我可以用预定义的值实例化一个List,如下所示:
val myList = List(1,2)
我想用1到100000的所有整数填充List。我的目标不是为列表使用var并使用循环来填充列表。
有没有“功能性”的方法呢?
答案 0 :(得分:10)
其中任何一个都可以解决问题。 (如果你在REPL中尝试它们,请注意它会尝试打印所有百万十万个条目,这通常不起作用。)
List.range(1,100001)
(1 to 100000).toList
答案 1 :(得分:2)
我对Scala也很陌生,它非常棒,不是吗。
Rex有绝对正确的答案,但需要深思熟虑:如果你想要一个未经过预先评估的列表(也许在评估列表中的项目所涉及的计算是昂贵的,或者你只是想让事情变得懒惰),您可以使用Stream。
Stream.from(0,1).takeWhile(_<=100000)
这可以在您使用List的大多数情况下使用。