gpt4 book ai didi

scala - Queue.foreach 是否正确排序?

转载 作者:行者123 更新时间:2023-12-01 07:41:32 25 4
gpt4 key购买 nike

请问foreach Scala 不可变队列的方法总是按照队列期望的顺序进行处理,还是有一种方法可以保证顺序?还是我必须使用循环 + dequeue ?

最佳答案

scala.collection.immutable.Queuescala.collection.Seq .见 Seq documentation :

Sequences are special cases of iterable collections of class Iterable. Unlike iterables, sequences always have a defined order of elements.



所以是的,您将获得与 foreach 相同的元素顺序和循环 + dequeue .

如果您不信任文档,您可以查看实现:
Queue#foreach继承自 IterableLikeimplemented像这样:
def foreach[U](f: A => U): Unit = iterator.foreach(f)
Queue#iteratorimplemented像这样:
override def iterator: Iterator[A] = (out ::: in.reverse).iterator

Queue#dequeue returns out的第一个元素,如果有,或 in 的最后一个元素.所以你会得到相同的元素顺序。

关于scala - Queue.foreach 是否正确排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20559866/

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