`
wbj0110
  • 浏览: 1646747 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Scala——Array相关

阅读更多

定长数组

 

在JVM中,Scala的数组是用Java的数组一样的方式实现的。

变长数组

对应于Java的ArrayList,Scala中可变长度的数组使用的是ArrayBuffer。

其他的还是看API吧。
在ArrayBuffer尾端添加或者移除元素是高效的,但其他位置不是,所以尽可能将操作放在尾端进行。
还有Array和ArrayBuffer间的转换: b.toArray和 a.toBuffer

遍历

前面见过的for表达式还是可用的。这里再提一点更多的。

 

数组转换

通过for推导式,可以便捷生成一个新的数组。

还有一种方式,对于习惯函数式编程的人来说更加熟悉:

这里的操作都没有改变原数组,而是生成了一个新的数组。因为Scala结合了函数式编程范式,而函数式是比较排斥函数和方法的副作用的。

常用算法

 

 

多维数组

多维数组就是数组的数组,Scala中二维数组看起来就是 Array[Array[Double]]
要构建多维数组,使用 ofDim方法。

 

与Java的互操作

引入scala.collection.JavaConversions包内的隐式转换方法,就可以在代码中自动包装Scala内的数组和Java里的List等。

从Java数组类到Scala数组也是差不多的。

http://nerd-is.in/2013-08/scala-learning-working-with-array/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics