Scala map集合与元组

1、Map(映射)是一种可迭代的键值对(key/value)结构。所有的值都可以通过键来获取。Map 中的键都是唯一的。

2、与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。

object CollectionTest {
  def main(args: Array[String]) {
   
      mapTest
      //tupleTest
    
  }
  
  //map集合
  def mapTest(){
    
      //1、不可变map集合
      val x = Map("one" -> 1, "two" -> 2, "three" -> 3)
      println(x.keys)
      println(x.values)
      println(x("two"))
     
      
      //2、遍历Map的各个元素
      //通过for循环访问Map的各个元素的值
      for(s <- x)println(s._1)
      //通过Map的foreach来访问Map的各个元素的值
      x.foreach(println)
      
      //3、Map 合并
      //可以使用 ++ 运算符或 Map.++() 方法来连接两个 Map,Map 合并时会移除重复的 key
      val colors1 = Map("red" -> "#FF0000",
                        "azure" -> "#F0FFFF",
                        "peru" -> "#CD853F")
      val colors2 = Map("blue" -> "#0033FF",
                        "yellow" -> "#FFFF00",
                        "red" -> "#FF0000")

      //  ++ 作为运算符
      var colors = colors1 ++ colors2
      println( "colors1 ++ colors2 : " + colors )

      //  ++ 作为方法
      colors = colors1.++(colors2)
      println( "colors1.++(colors2) : " + colors )
   
      //4、可变map集合
      val m = scala.collection.mutable.Map("one" -> 1, "two" -> 2, "three" -> 3)
      //赋新值
      m("one") = 65
      println(m("one"))
    
  }
  
  //元组
  def tupleTest(){
    
      //定义元组
      var t=(1, 3.14, "Fred")
      //输出元组
      println(t._1,t._2,t._3)
      
      
      //迭代元组
      //你可以使用 Tuple.productIterator() 方法来迭代输出元组的所有元素:
      var s=new Tuple3(1,2,3)
      s.productIterator.foreach(i=>println(i))
      
      //元组转为字符串
      //可以使用 Tuple.toString() 方法将元组的所有元素组合成一个字符串
      val y = new Tuple3(1, "hello", Console)
      println("连接后的字符串为: " + y.toString() )
      
      //元素交换
      //可以使用 Tuple.swap 方法来交换元组的元素
      val x = new Tuple2(1, "www.baidu.com")
       
      println("交换后的元组: " + x.swap )
  }
  
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值