scala 基础六 scala 中的数组和集合的使用

1.scala 定长数组的使用

 数组的定义和分配 

 val arr1=new Array[String](9)
    
    //给数组赋值 注意 scala的数组用圆括号 而不是方括号
    arr1(0)="james";
    
    arr1(1)="tom";
  
    
    //循环打印数组
    for(i<-arr1)
    {
      println(i)
    }

2.定长数组的自动类型和长度推断

 

3.变长数组ArrayBuffer的定义和使用。

  需要引入类库 import scala.collection.mutable.ArrayBuffer;

    //定义一个不定长数组
    val arr1=ArrayBuffer[String]()
    //另一种声明方式
    var arr2=new ArrayBuffer[String]();
    
    //在末尾增加一个元素
    arr1+="hello";
    
    //在末尾增加多个元素
    arr1+=("james","tom","scala");
    
    //在第三个元素之前加入一个元素
    arr1.insert(3, "hive")
    
    //在第三个元素前加入多个元素, 其中第一个为index
    arr1.insert(3,"harry","suguang","jianzhong")
    
    //在末尾增加一个集合
    arr1++=Array("java","spark","hadoop");
    
    //移除末尾的5个元素
   // arr1.trimEnd(5)
    
    //移除某个元素
   // arr1.remove(1)
    
    //移除从下标为n开始(包括n)的count个元素
    arr1.remove(3,5)
    for(i<-arr1)
    {
      println(i);
    }

 4.数组的循环遍历

  //完全遍历
    for(i<-arr1)
    {
      println(i);
    }
    
    //根据数组长度索引循环
    for(i<-0 until arr1.length)
    {
      println(arr1(i))
    }
    
    //翻转输出
    for(i<-(0 until arr1.length).reverse)
    {
      println(arr1(i))
    
    }

 5.数组的转换

    ////进行数组转换会生成一个新的数组,而不会修改原始数组 
    var arr3=for(i<-arr1) yield i
    
    println(arr3)

 6.数组常用算法

//sum求和(数组与阿奴必须是数值型数据)
println(change.sum)

//min max 输出数组中最小和最大元素
println(change.min)
println(change.max)

//使用sorted方法对数组或数组缓冲进行升序排序,这个过程不会修改原始数组
 val sortArr = ab.sorted 
 for(elem <- sortArr)
 print(elem + ", ")

//使用比较函数sortWith进行排序
val sortArr = ab.sortWith(_>_)

//数组显示
 println(sortArr.mkString("|"))
 println(sortArr.mkString("startFlag","|","endFlag"))

 

   

   

posted @ 2017-06-29 17:34  jialiming  阅读(771)  评论(0)    收藏  举报