首页 > 代码库 > scala学习3 数组相关操作映射和元组

scala学习3 数组相关操作映射和元组

一.定长数组
    如果需要一个长度不变的数组,可以使用Scala中的Array.
     val nums = new Array[int](10)
       val s = Array("Hello","world")

二.变长数组:数组缓冲
1.
    val b = ArrayBuffer[int]() 
2.追加元素
     b +=(1,2,3,4,5)
3.追加任何集合
     b ++= Array(8,13,21)
4.移除最后5个元素
     b.trimEnd(5)
5.插入元素
     b.insert(2,6)
6.插入任意多个元素
     b.insert(2,7,8,9)
7.移除元素
     b.remove(1)
8,移除多个元素
     b.remove(2,3,4,5)

三.遍历数组和数组缓冲
1.两个元素一跳
     0 until (a.length, 2)
2.从数组的尾端开始遍历
     (0 util a.length).reverse

映射和元组

一.构造映射
     1.不可变映射
     val sources = Map("Alice" -> 10,"Bob" ->3)
     2.可变映射
      val scores = new scala.collection.mutable.HashMap[String,int]

二.获取映射中的值
     val bobs = scores("Bob")   //类似java中的scores.get("Bob")
     
     val bobsScore = scores.getOrElse("Bob",0)


三 更新映射中的值
     scores("Bob")  =  10  //更新键"Bob"对应的值
     
     scores("Fred")  =  7   //增加新的键

     scores += ("Bob" -> 10, "Fred" -> 7)  //添加多个关系

     scores -= "Alice" //移除某个键和对应的值

      var  scores = .....; scores =scores +("Bob" -> 10, "Fed" ->7)  //更新不可以变集合映射

四.迭代映射
   1.
      for((k,v) <- 映射)  
   2.
      scores.keyset//类似java的keyset
      scores.values //映射值得集合
   3.
          
   五.非哈希映射
        val scores = scala.collections.immutable.Sortedmap("Alice" ->10,"Fred"_>7)   
              
   六. 与java的互操作
        把Java的TreeMap转为Scala映射类型
          val  scores:  scala.collection.mutable.Map[String,Int] = new java.util.TreeMap[String,Int]
         
         将java.util.Properties 转到Map[String,String]
              val props: scala.collection.Map[String,String] = System.getProprties()
          
     七.元组
          映射是键/值对偶的集合.对偶式元组的最简单形态-----元组是是不同类型的值的聚集.
          1.元组通过将单个值包含在园括号中构成
            (1,3.14,"Fred")
               
           2.如果有一个元组, val t = {1,2,"ff"},可以使用
               val  first = t._1 //将t元组中的第一个值赋给first,元组的组员是从1开始的二非0
            
            3.对应不需要的组员可以使用_,进行替换
               val (first,scond, _) = t

             元组可以用在函数需要返回不止一个值的情况,
                    
        八.拉链操作
             val symbols = Array("<","-",">")
             val counts = Arry(2,10,2)
             val pairs = sysbols.zip(counts)
           输出对偶数组
               Array(("<",2),("-",10),(">",2))
          
                      
               
     

     
     
     



























































  





















     


scala学习3 数组相关操作映射和元组