gpt4 book ai didi

scala - Scala:集合上的.to [Seq]与.toSeq

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

someCollection.to[Seq]someCollection.toSeq有什么区别?我注意到的一件事是,当调用Map时,.toSeq通常返回Vector,而.to[Seq]通常返回ArrayBuffer,但是我不确定它的真正含义。

最佳答案

Scala集合的to[T]方法是更通用的函数。它需要一个CanBuildFrom[From, Elem, To]类型的值作为隐式参数,该值定义了如何使用To中的Elem类型的元素构造一个集合From。通常,toSeqtoListtoMap,...直接转发到此方法,例如Set就是这种情况。

但是,某些类为某些toXXX方法提供了特殊的实现,以提高效率。这是内部调用toSeqMap类的toBuffer实现的情况。 toBuffer返回一个ArrayBuffer。与此相反,将使用to[Seq]隐式值调用更通用的CanBuildFrom方法,该方法返回一个不可变的Vector集合。

关于scala - Scala:集合上的.to [Seq]与.toSeq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32703963/

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