1
35
不,Scala数组只是Java数组,所以 是
但是就像java(和C/C++ +C等)数组一样,你不能改变。 大小 数组的一部分。
所以您需要另一个集合,它由一个数组支持,但允许调整大小。Scala的合适收藏是
|
2
4
追根溯源: 如果您仍然想使用list,有几种方法可以将一个项目预先添加到list中。你能做的是(是的,上面的部分仍然是错误的):
注意操作符。如果您想附加,您应该使用s+:outList。 谁说Scala编程不好玩 另外,也许你想让它们不变的原因是速度。对于不可变的数据类型,处理大数据将更加有效。我说得对吗? |
3
4
如果您想使用一个可变的缓冲区,正如前面提到的。看起来是这样的:
|
4
4
如果要使用不可变结构,可以使用++方法:
如果您想在元素上做更多的工作,而不仅仅是添加它们,您可以使用更高阶的函数:
或使用for循环:
或者可以创建一些递归循环:
但在这种情况下,添加元素的顺序将相反:
如果希望在处理列表时获得更好的性能,最好反转结果,而不是在最后添加新元素。在列表的末尾添加元素并不好:-) |
5
3
好吧,有几件事需要澄清。 这是错误的,您正在创建一个单元素列表,其中包含一个空列表:
或者,如果您愿意:
如果没有更多的上下文,就很难知道“动态”是什么意思。最好将示例代码编写为:
|
6
2
如果要创建新集合,可以使用yield关键字:
或:
从技术上讲,在上述两个示例中,outlist都是Seq,因此如果需要List的某些方法,可能需要调用toList方法。 |
7
0
我们可以按建议使用ArrayBuffer。 但是,我已经创建了一个简单的程序,它不接受int数组的任何参数,它将允许您输入数字,最后我们将显示它们。
|
davidzxc574 · 将字符串缩放为字符 2 年前 |
yic_l · 什么是“!”在这个函数中是什么意思? 2 年前 |
Jelly · Scala:用于理解递归未来 2 年前 |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 2 年前 |
Iheb Mar · 卡夫卡制作人/消费者粉碎每一秒的API调用 2 年前 |
B. Bal · 在Scala中重用类成员 2 年前 |