核心
1、scala集合的操作
package com.xlucas
import scala.collection.mutable.ArrayBuffer
/*
* Created by xlucas on 2017/8/15 0015.
* scala 中数据的创建和操作
* 1、最原始的创建数据的方式 val array=new Array[Int](5)
* 2、数据的长度和Java中是的一样的模式
* 3、最常用的创建方式的Array[Int](1,2,3,4,5) ,直接通过Array类名并传入参数的方式啦创建数组实例,在背后是实现了调用Array的工厂方法模式
* apply来构建数组
* 4、Array本身在底层的实现是借助了jvm平台上的Java语言的数组实现
* 5、如果我们想使用可变数组,首先需要导入 ArrayBuffer.然后使用ArrayBuffer这个可变数组
* 6、ArrayBuffer增加元素,默认都是在末尾增加元素,
* 7、当需要多线程并发操作的时候,把ArrayBuffer转换成为Array。数组长度不变,内容是可以修改的
* 8、如果想在已经有的数据的基础上通过作用于每个元素生成新的元素构成新数组,可以通过yield语法完成,这个操作不修改
* 已有的数组
*/
object ArrayOps {
def main(args: Array[String]): Unit = {
val array=new Array[Int](5) //定义长度为5的数组
val array1 =Array(1,2,3,4,5)
//等价于
val arr=Array.apply(1,2,3,4,5)
for(item<-array)
println(item) //打印数组
//ArrayBuffer介绍
val arrabuffer=ArrayBuffer[Int]()
arrabuffer +=1
arrabuffer +=(2,3,4,20) //批量增加
arrabuffer ++=Array(5,6,7) //增加集合元素
arrabuffer.insert(arrabuffer.length-1,100,1000) //在指定位置增加元素 这里会在5后面增加
arrabuffer.remove(arrabuffer.length-2)//删除元素
arrabuffer.toArray //转换成数组
for(i<- 0 until (arrabuffer.length,2))
println(arrabuffer(i))
scala.util.Sorting.quickSort(array) //只能对数组进行排序
println(array.mkString(",")) //打印集合输出的格式
val arrayAdd=for(item<-array1) yield item+1 //array1中每个元素增加1赋值给arrayAdd数组
println( arrayAdd.mkString(" "))
val arrayAddEven=for(item<-array1 if item%2 ==0) yield item+1 //array1中每个偶数元素增加1赋值给arrayAdd数组
println( arrayAddEven.mkString(" "))
println(array1.filter(x=>x%2==0).mkString(" "))//将过来每个偶数位的元素并且打印出来
println(array1.filter(_%2==0).mkString(" "))//和上面的等价
println(array1.filter(_%2==0).map(_*10).mkString(" "))//将过来每个偶数位的元素在每个元素乘以10并且打印出来
}
}
输出的结果
0
0
0
0
0
1
3
20
6
7
0,0,0,0,0
2 3 4 5 6
3 5
2 4
2 4
20 40