没有 Scala 可变列表

发布于 2024-11-24 01:44:25 字数 104 浏览 1 评论 0 原文

Scala 有可变的和不可变的 Map , 但它只有一个不可变的列表。 如果你想要一个可变的 List,你需要一个 ListBuffer。

我不明白为什么会这样。 有谁知道吗?

Scala has both a mutable and an immutable Map ,
but it has only an immutable List.
If you want a mutable List you need a ListBuffer.

I don't understand why this is so.
Any one knows?.

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

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

发布评论

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

评论(4

哆啦不做梦 2024-12-01 01:44:26

我希望这篇文章对您有所帮助。页面底部的图表对于提供可变和不可变类特别有用。

http://www.scala-lang.org/docu/files /collections-api/collections_1.html

I hope that this article may be of some use to you. The diagram at the bottom of the page is particularly useful in providing the mutable and immutable classes.

http://www.scala-lang.org/docu/files/collections-api/collections_1.html

思念绕指尖 2024-12-01 01:44:26

有一个可变的 List,但它被称为 缓冲区。格雷厄姆链接的文章更深入,但我认为这个问题也应该有一个具体的答案。

There is a mutable List, but it is called Buffer. The article linked by Graham goes into more depth, but I thought there should be a specific answer to the question as well.

与他有关 2024-12-01 01:44:26

Map 是一个 trait —— 就像 Java 的 interface ——,而 List 是一个 classSeq 的具体实现。有可变和不可变的 Seq,就像 Map 一样。

这可能会让 Java 程序员感到困惑,因为在 Java 中,List 是一个接口,其(主要)实现是 ArrayListLinkedList 。唉,Java 的命名实在是太糟糕了。首先,无论怎么想,ArrayList 都不是 List。此外,该接口具有与任何传统列表并不真正相关的方法。

因此,如果您想要可变/不可变等价,请查看 Seq 的具体子类实现。

Map is a trait -- like Java's interface --, while List is a class, a concrete implementation of a Seq. There are mutable and immutable Seq, just like for Map.

This may be confusing to Java programmers because, in Java, List is an interface, whose (main) implementations are ArrayList and LinkedList. Alas, Java naming is atrocious. First, ArrayList is not a List by any stretch of imagination. Also, the interface has methods that are not really related to any traditional list.

So, if you want mutable/immutable equivalence, look to concrete subclass implementations of Seq.

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