gpt4 book ai didi

scala - 迭代循环方式

转载 作者:行者123 更新时间:2023-12-02 11:07:21 25 4
gpt4 key购买 nike

我需要循环遍历列表。我还需要向列表中添加新元素并迭代所有元素(旧元素和新元素),我该怎么做?它们有什么数据结构吗?

最佳答案

一种选择是使用 Stream 类创建惰性、循环、无限序列:

scala> val values = List(1, 2, 3)
values: List[Int] = List(1, 2, 3)

scala> Stream.continually(values.toStream).flatten.take(9).toList
res2: List[Int] = List(1, 2, 3, 1, 2, 3, 1, 2, 3)

或者这样:

val values = List(1, 2, 3)

def circularStream(values: List[Int],
remaining: List[Int] = List()): Stream[Int] = {

if (remaining.isEmpty)
circularStream(values,values)
else
Stream.cons(remaining.head, circularStream(values, remaining.drop(1)))
}

circularStream(values).take(9).toList //Same result as example #1

关于scala - 迭代循环方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3256169/

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