<pre name="code" class="plain">//操作实例
object ArrayOperation {
def main(args: Array[String]) = {
val c = Array(2, 3, 5, 7, 11)
for (i <- 0 until c.length)
println(i + ":" + c(i))
val result = for (elem <- c) yield 2 * elem
for (elem <- c if elem % 2 == 0) yield 2 * elem //for() yield :产生一个数组,原数组c没有发生改变
c.filter(_ % 2 == 0).map(2 * _)
for (i <- 0 until result.length)
println(i + ":" + result(i))
println(Array(1, 7, 2, 9).sum) //数组求和
println(ArrayBuffer("Mary", "had", "a", "little", "lamb").max) //求组数中最大长度字符串
/*
* 数组排序
*/
val d = ArrayBuffer(1, 7, 2, 9)//ArrayBuffer:长度可变
val bSorted = d.sorted
for (i <- 0 until d.length)
print(d(i) + " ")
println
/*
* 快排
*/
val e = Array(1, 8, 4, 2)//Array:长度固定
scala.util.Sorting.quickSort(e)
for (i <- 0 until d.length)
print(d(i) + " ")
println
var s = e.mkString("and") //在数组元素中间添加指定字符串,同一个数组中数值型和字符串可以并处
for (i <- 0 until s.length)
print(s(i))
println
var t = e.mkString("<", ",", ">") //def mkString(start: String,sep: String,end: String): String
for (i <- 0 until t.length)
print(t(i) + " ")
println
//矩阵
val matrix = Array.ofDim[Double](3, 4)
matrix(2)(1) = 42
for (i <- 0 to 2) {
for (j <- 0 to 3) {
print(matrix(i)(j) + " ")
}
println
}
val triangle = new Array[Array[Int]](10)
for (i <- 0 until triangle.length)
triangle(i) = new Array[Int](i + 1)
for (i <- 0 until triangle.length) {
for (j <- 0 until triangle(i).length) {
print(triangle(i)(j) + " ")
}
println
}
}
}
//运行结果
0:2
1:3
2:5
3:7
4:11
0:4
1:6
2:10
3:14
4:22
19
little
1 7 2 9
1 7 2 9
1and2and4and8
< 1 , 2 , 4 , 8 >
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 42.0 0.0 0.0
0
0 0
0 0 0
0 0 0 0
0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Scala数组操作
最新推荐文章于 2021-12-06 16:08:24 发布