Scala 中的数组初始化
我是 Scala 新手,今天刚开始学习。我想知道如何在 Scala 中初始化数组。
Java 代码示例
String[] arr = { "Hello", "World" };
上述代码在 Scala 中的等价物是什么?
I'm new to Scala ,just started learning it today.I would like to know how to initialize an array in Scala.
Example Java code
String[] arr = { "Hello", "World" };
What is the equivalent of the above code in Scala ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
要初始化一个用零填充的数组,可以使用:
这相当于 Java 的
new byte[5]
。To initialize an array filled with zeros, you can use:
This is equivalent to Java's
new byte[5]
.还可以使用 fill 进行更多动态初始化,例如
==>
Can also do more dynamic inits with fill, e.g.
==>
Vasil 的回答的补充:如果你有作为 Scala 集合给出的值,你可以写
但通常 toArray 方法更方便:
Additional to Vasil's answer: If you have the values given as a Scala collection, you can write
But usually the toArray method is more handy:
如果你知道Array的长度但不知道它的内容,你可以使用
如果你想要二维数组但你不知道它的内容,你可以使用
当然,你可以将String更改为其他类型。
如果您已经知道其内容,则可以使用
If you know Array's length but you don't know its content, you can use
If you want to have two dimensions array but you don't know its content, you can use
Of course, you can change String to other type.
If you already know its content, you can use
声明多维数组的另一种方法:
Another way of declaring multi-dimentional arrays:
[合并所有答案]
初始化一维数组
初始化 2-D/3-D/nD 数组
结论:
使用 Array.ofDim[TYPE](d1, d2, d3...) 使用类型的零值。
使用 Array.fill[TYPE](d1, d2, d3...)(functionWhichReturnsTYPE) 否则
输出供参考:
[Consolidating all the answers]
Initializing 1-D Arrays
Initializing 2-D/3-D/n-D Arrays
Conclusion :
Use Array.ofDim[TYPE](d1, d2, d3...) to use zero value of the type.
Use Array.fill[TYPE](d1, d2, d3...)(functionWhichReturnsTYPE) otherwise
Output for reference :