一:数组相关操作
1.定长数组
val array = Array[String]("a","b","c") //直接初始化数组的内容
println(array.mkString("|"))
val array = new Array[String](2) //new一个长度为2的数据在通过更新的方法进行赋值
array.update(0, "0")
array.update(1, "1")
println(array.mkString("|"))
2.变长数组:数组缓冲
import scala.collection.mutable.ArrayBuffer
val data = new ArrayBuffer[String]();
data.-=("3")
data.-=("3","2")
data.+=("1")
data.+=("2","3","4")
data.++=(Array("5","6","7"))
data.++=(data)
data.trimEnd(2)
data.remove(2)
data.remove(2,3)
val array = data.toArray[String]
3.遍历数组和数组缓冲
val array = Array[String]("a","b","c","d")
for(i <- array)
println(i)
for(i <- 0 until array.length)
println(array.apply(i))
for(i <- 0 until (array.length,2))
println(array.apply(i))
val array = Array[String]("a","b","c","d","e","f","h")
for(i <- (0 until array.length).reverse )
println(array.apply(i))
4.数组转换
val array = Array[String]("a","b","c","d","e","f","h")
val arrayB = for(i <- (0 until array.length).reverse ) yield array.apply(i) +“a”
val array = Array[String]("a","b","c","d","e","f","h")
val arrayB = array.map { x => x+"a" }.filter { x => x.equals("aa") }
5.常用方法
val array = Array[Int](1,2,3,4).sum //求和
val array1 = Array[Int](1,2,3,4).max //最大值
val array2 = Array[Int](1,2,3,4)
array2.sortWith((a,b)=>a > b).mkString("|") //排序
6.scaladoc
val array2 = ArrayBuffer[Int](2,2,3,4)
array2.append(6)
array2.appendAll(array2)
array2.count( x => {if (x == 6) true else false})
array2.+=(7)
val max = array2.max
println(array2.mkString("|"))
val arrayBuffer = array2.padTo(15, 1234)
println(arrayBuffer.mkString("|"))
7.多维数组
val array = Array.ofDim[String](2, 4) //两行四列
array(1)(3) = "1234";
println(array.mkString("|"))
8.与Java互操作
import scala.collection.JavaConversions._
二:映射和元组
1.构造映射
val map = Map("aa"->4,"bb"->5,"cc"->6) //此方法生成一个定长的map集合
val map1 = scala.collection.mutable.Map[String,Int]() //此方法生成一个变长的
2.map集合
map1.+=(("dd",7))
println(map1.mkString("|"))
3.获取映射中的值
val map = Map("aa"->4,"bb"->5,"cc"->6)
println(map.getOrElse("dd", "100"))
4.更新映射中的值
val map1 = scala.collection.mutable.HashMap("aa"->4,"bb"->5,"cc"->6)
map1.+=(("dd"->7))
println(map1.mkString("|"))
map1.-=("bb")
println(map1.mkString("|"))
map1.update("aa", 100)
println(map1.mkString("|"))
5.迭代映射
val map1 = scala.collection.mutable.HashMap("aa"->4,"bb"->5,"cc"->6)
for((key,value)<-map1){
println(key +"|" + value)
}
println()
for(key<-map1.keySet){
println(map1.apply(key))
}
println()
for((key,value)<-map1) yield(value,key)
6.已排序映射
val map1 = scala.collection.immutable.SortedMap("mm"->4,"aa"->5,"cc"->6)
for((key,value)<-map1){
println(key +"|" + value)
}
println()
val map2 = scala.collection.mutable.LinkedHashMap("mm"->4,"aa"->5,"cc"->6)
for((key,value)<-map2){
println(key +"|" + value)
}
7.与Java互操作
import scala.collection.JavaConversions.propertiesAsScalaMap
val map:scala.collection.Map[String,String] = System.getProperties
println(map.toString())
import scala.collection.JavaConversions.mapAsScalaMap
import scala.collection.JavaConversions.mapAsScalaConcurrentMap
8.元组
val tt = ("aa",11,2.0f,5l)
println(tt._1)
9.拉链
val aa = Array(1,2,3,4)
val bb = Array(5,6,7,8)
val cc = aa.zip(bb)
println(cc.mkString("|"))