package com.scalaxuexi
//首先导入scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
//首先导入scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
object ArrayOps {
def main(args: Array[String]): Unit = {
//声明数组
val nums = new Array[Int](10)
val a = new Array[String](10)
val s = Array("Hello","World") //初始化数组,scala可以根据类型进行推到
s(0) = "goodBye"
//上面的数组都是定长数组,要么指定个数,要么指定长度。
//创建可变数组
val b = ArrayBuffer[Int]()
b += 1
b +=(1,2,3,5)
b ++= Array(8, 13, 21)
print( b)
b.trimEnd(5) //移除后面5个
b.insert(2,6) //在下标为2的位置插入6
b.insert(1,2,3) //在下标为1的位置插入2,3
b.remove(2,3) //从下标为2的位置移除3个元素
b.remove(2) //移除下标为2 的元素
b.toArray //把可变数组变为不变数组
for (i <- 0 until a.length) //对所有元素进行遍历,a为空,所以结果也为空
println(i + ":" + a(i))
val c =Array(2,3,5,7,11) // 不可变数组
val result = for (elem <- c) yield 2* elem //循环遍历每个结果之后再乘2
for (elem <- c if elem % 2 == 0) yield 2*elem //
c.filter( _% 2 == 0).map(2*_) //和 上面 是一样的 _ 表示占位符,每次循环判断, 也是比较流行的操作
Array(1,7,2,9).sum // 求数组的结果
ArrayBuffer("hgjkgkg","gfjjk","q","bh","hjgjh").min //求求字母的最小值
ArrayBuffer("hgjkgkg","gfjjk","q","bh","hjgjh").sorted// 对数组排序
val e = Array(1,7,2,9)
e.mkString("and") // and 进行连接
e.mkString("<",",",">") // 两边<>,中间用,连接 res: String = <1,7,2,9>
//定义二维数组
val matrix = Array.ofDim[Double](3,4) //> matrix : Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0,
//| 0.0, 0.0, 0.0), Array(0.0, 0.0, 0.0, 0.0))
matrix(2)(1) = 42 // 赋值
val triangle = new Array[Array[Int]](10)
for (i <- 0 until triangle.length)
triangle(i) = new Array[Int](i + 1) //> result: Array[Array[Int]] = Array(Array(0), Array(0, 0), Array(0, 0, 0), Arra
//| y(0, 0, 0, 0), Array(0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0), Array(0, 0, 0,
//| 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0, 0
//| ), Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
}
}
def main(args: Array[String]): Unit = {
//声明数组
val nums = new Array[Int](10)
val a = new Array[String](10)
val s = Array("Hello","World") //初始化数组,scala可以根据类型进行推到
s(0) = "goodBye"
//上面的数组都是定长数组,要么指定个数,要么指定长度。
//创建可变数组
val b = ArrayBuffer[Int]()
b += 1
b +=(1,2,3,5)
b ++= Array(8, 13, 21)
print( b)
b.trimEnd(5) //移除后面5个
b.insert(2,6) //在下标为2的位置插入6
b.insert(1,2,3) //在下标为1的位置插入2,3
b.remove(2,3) //从下标为2的位置移除3个元素
b.remove(2) //移除下标为2 的元素
b.toArray //把可变数组变为不变数组
for (i <- 0 until a.length) //对所有元素进行遍历,a为空,所以结果也为空
println(i + ":" + a(i))
val c =Array(2,3,5,7,11) // 不可变数组
val result = for (elem <- c) yield 2* elem //循环遍历每个结果之后再乘2
for (elem <- c if elem % 2 == 0) yield 2*elem //
c.filter( _% 2 == 0).map(2*_) //和 上面 是一样的 _ 表示占位符,每次循环判断, 也是比较流行的操作
Array(1,7,2,9).sum // 求数组的结果
ArrayBuffer("hgjkgkg","gfjjk","q","bh","hjgjh").min //求求字母的最小值
ArrayBuffer("hgjkgkg","gfjjk","q","bh","hjgjh").sorted// 对数组排序
val e = Array(1,7,2,9)
e.mkString("and") // and 进行连接
e.mkString("<",",",">") // 两边<>,中间用,连接 res: String = <1,7,2,9>
//定义二维数组
val matrix = Array.ofDim[Double](3,4) //> matrix : Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0,
//| 0.0, 0.0, 0.0), Array(0.0, 0.0, 0.0, 0.0))
matrix(2)(1) = 42 // 赋值
val triangle = new Array[Array[Int]](10)
for (i <- 0 until triangle.length)
triangle(i) = new Array[Int](i + 1) //> result: Array[Array[Int]] = Array(Array(0), Array(0, 0), Array(0, 0, 0), Arra
//| y(0, 0, 0, 0), Array(0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0), Array(0, 0, 0,
//| 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0, 0
//| ), Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
}
}