引用“列表”的通用方式是:在斯卡拉?

发布于 2024-10-17 07:29:01 字数 206 浏览 0 评论 0原文

如何以更通用的方式引用 ArrayBuffer 和 Vector?

例如 - 我的一个函数采用 Vector 作为参数,而另一个函数返回 ArrayBuffer。 我可以使用的常见“iterface”是什么?

例如,在 Java 中,我可以使用 ListCollection 接口来传递它们。

How can I refer to ArrayBuffer and Vector in a more generic way?

For example - one of my functions takes a Vector as an argument, while another returns an ArrayBuffer.
What is a common "iterface" that I can use?

For example, in Java I could use List or Collection interface to pass them around.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撞了怀 2024-10-24 07:29:01

有关集合类之间的继承关系的概述,请参阅此处

您会发现 IndexedSeq 是ArrayBuffer 和 Vector。

编辑:IndexedSeq 与 Seq:

来自文档:索引序列不会添加任何关于 Seq 的新方法,但承诺有效实现随机访问模式。这意味着,在这种情况下,您可以像我们将使用 Seq,因为无论如何,ArrayBuffer 和 Vector 都会提供实现。

See here for an overview of the inheritance relationship between the collections classes.

You'll see that IndexedSeq is a common trait for both ArrayBuffer and Vector.

EDIT: IndexedSeq vs. Seq:

From the doc: Indexed sequences do not add any new methods wrt Seq, but promise efficient implementations of random access patterns. This means that, in this context, you could just as well use Seq, as the implementations will be provided by ArrayBuffer and Vector in any case.

东走西顾 2024-10-24 07:29:01

我会使用 SeqLike 或更通用的 TraversableOnce 也适用于 Map

I would use SeqLike or more generic TraversableOnce which would also apply for Maps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文