gpt4 book ai didi

scala - 什么是 Collection View ?您何时想使用它们?

转载 作者:行者123 更新时间:2023-12-03 05:57:00 24 4
gpt4 key购买 nike

在 Scala 中,您可以为许多(所有?)类型的集合创建 View 。

View 到底是什么? View 可用于哪些用途?

最佳答案

View 是集合的非严格版本。这意味着元素是在访问时计算的,而不是像普通集合中那样急切地计算。

以下代码为例:

val xs = List.tabulate(5)(_ + 1)
val ys = xs.view map { x => println(x); x * x }

只是这不会打印任何内容,但每次访问列表都会执行计算并打印值,即每次调用ys.head都会导致1打印。如果您想再次获得集合的严格版本,您可以对其调用 force 。在这种情况下,您将看到打印出的所有数字。

View 的一个用途是当您需要遍历一组值时,这些值的计算成本很高,并且一次只需要一个值。此外, View 还允许您通过调用 toStream 来构建惰性序列,这也将缓存计算的元素。

关于scala - 什么是 Collection View ?您何时想使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3361478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com