Scala数组

来源:互联网 发布:歌词找歌名软件 编辑:程序博客网 时间:2024/03/29 17:07
val arr = Array("Scala","Spark")   定义数组
如果想要添加元素的话,需要导进一个包
import scala.collection.ArrayBuffer
val arr1 = ArrayBuffer[Int]()    定义一个数组
往arr1数组里添加元素
arr1 += (1,2,3,4,5)
往数组里面添加一个 Array元素
arr1 ++= Array(1,2,3,4,5)        注意是两个加号
arr1.insert(3,100)      在第4个位置增加100
arr1.insert(3,100,2)      在第4个位置增加100,2
从数组里面删除元素
arr1.trimEnd(3)     删除后面3个元素
arr1.remove(3)      删除数组第4个元素
arr1.remove(3,3)    删除数组第3个元素后面的3个
把数据arr1变为不可变数组
arr1.toArray    就会变为不可变数组
把数据arr1变为可变数组
arr1.toBuffer    就会变为可变数组
把数组的值打印出来
for(i <- arr1) println(i)
从尾部开始打印数组里面的元素
for(i <- (0 until arr1.length)reverse) println(arr1(i))
搁一个元素打印
for(i <- (0 until (arr1.length,2)) println(arr1(i))
数组求和
arr1.sum
数组求最大值
arr1.max




对数组进行排序
scala.unil.sorting.quicksort(arr1)   
arr1.mkstring   会把数组arr1的元素以string的形式显示出来
把arr2在arr1的基础上进行计算    我这边是取arr1的平方
val arr2 = for(i <- arr1) yield i * i
定义arr3取arr1满足条件的元素    这里我取的是3的倍数
val arr3 = for(i <- arr1 if i % 3 == 0) yield i * i
定取arr1满足条件的元素    这里我取的是3的倍数
arr1.filter(_%3=0).map(i = i * i) 








创建map数组   spark已经6岁啦    hadoop已经11岁啦
val arr4 = scala.collection.mutable.map("spark" => 6,"hadoop" => 11)               这是一个可变数组(直接写map将会


是一个不可变的)
arr4 += ("qian" => 21)                   添加元素
arr4 -= "qian"                            删除元素
arr4("hadoop")    他直接会打印11
定义一个新的arr5我会调用arr4的          如果找到里面有这个元素则直接调用
val arr5 = if(arr4.contains("hadoop"))arr4("hadoop") else 100      这个情况会直接返回11
1 0