scala中的集合操作

来源:互联网 发布:如何在u盘上安装ubuntu 编辑:程序博客网 时间:2024/05/18 03:27

1.array是借助jvm平台上的java数组实现的,不可变
2.如果想使用可变数组,要先导入包
3.yield在已有的数组基础上作用每一个元素生成新元素构成新数组(不改变原有的数组)
4.filter 进行元素过滤,map进行元素加工


package kang/*1.array是借助jvm平台上的java数组实现的,不可变2.如果想使用可变数组,要先导入包3.yield在已有的数组基础上作用每一个元素生成新元素构成新数组(不改变原有的数组)4.filter 进行元素过滤,map进行元素加工 */object scala_collection {def main(args: Array[String]): Unit = {//  创建数组的方式var arr=new Array[Int](5);//创建指定大小的数组println(arr.length)var arr2=Array[Int](12,2,33,4,1,22,45,35);//创建指定内容的数组(类型[Int]可以不写,有类型推导)println(arr2.length)var arr3=Array.apply(2,5,4);//工厂方法模式创建指定内容的数组println(arr3.length)var names=Array("水果","沙滩","难处");//创建指定大小的数组println(names.length)println("--------")import scala.collection.mutable.ArrayBuffervar arrBuffer=ArrayBuffer[Int]();//创建指定大小的数组arrBuffer+=1;arrBuffer+=31;arrBuffer+=21;arrBuffer+=(1,3,5,7,5);for(item <- arrBuffer) print(item +" ")println("***")arrBuffer.insert(2, 88)//指定位置后面插入元素for(item <- arrBuffer) print(item +" ")println("max----"+arrBuffer.max)println("sum----"+arrBuffer.sum)scala.util.Sorting.quickSort(arr2)//快速排序println("quickSort----"+arr2.mkString(","))var arr2_addOne=for(item <- arr2) yield item+1 //yield在已有的数组基础上作用每一个元素生成新元素构成新数组var arrBuffer_addOne=for(item <- arrBuffer) yield item+1var arr2_condition=for(item <- arr2 if(item%2==0)) yield item+1//加上条件守卫for(item <- arr2_addOne) print(item +" ")println("***")for(item <- arrBuffer_addOne) print(item +" ")println("***")for(item <- arr2_condition) print(item +" ")    println("***")    println(arr2.filter(x => x%2==0).mkString(","))//过滤,取偶数    println(arr2.filter{ _ %2==0}.mkString(","))//过滤,取偶数    println(arr2.filter{x => x%2==0}.map(x => x*10).mkString(","))//过滤,取偶数    println(arr2.filter{_ %2==0}.map(_*10).mkString(","))//x => x使用_取代}}


原创粉丝点击