scala第八天
scala第八天
我是菜鸟我骄傲 发表于10个月前
scala第八天
  • 发表于 10个月前
  • 阅读 4
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

package com.learn.scala

/**
  * scala第八天
  * Created by zhuqing on 2017/2/27.
  */
object Day8MapAndTuple {
  def main(args: Array[String]): Unit = {

    val map = Map("Robbie" -> 100, "Lizzy" -> 89, "Tom" -> 90);

    for ((k, v) <- map) {
      println("k=" + k, "v=" + v)
    }
    //scala中对Map的key,value值的遍历与Java类似
    for (k <- map.keySet) {
      println("k=" + k + "=>" + map.get(k).get)
    }

    for (v <- map.values) {
      println("v=" + v)
    }


    /**
      * 元组:不同类型值的聚集就是元组,Map的键值对就是最简单的元组,如上面的(String,Int).
      * 这个是Java中没有的概念,如果真要用Java实现元组的功能,可以用Object类型的集合。
      */

    val tuple = ("Robbie", "Math", 83)
    //tuple取值时可以按照顺序号取
    println(tuple._1 + ":" + tuple._2 + ":" + tuple._3)

    //也可以使用模式匹配的方式获取
    val (name, classname, score) = tuple;
    println(name + ":" + classname + ":" + score)
    //如果不是每个属性都需要可以使用下划线_为不使用的属性命名
    val (enName, _, enScore) = tuple
    println(enName + "=>" + enScore)
    //元组可以用在函数返回多种返回值时,这种情况Java不好处理
    val (secondName, age) = this.getNameAndAge();
    println("scondName=" + secondName + ", age=" + age)

    /**
      * 拉链操作,将两个数组合并成一个对偶数组
      */
    val names = Array("Robbie", "Tom", "Lizzy")
    val ages = Array(22, 23, 21)
    val newTupes = names.zip(ages)
    for ((name, age) <- newTupes) {
      println(name + "=>" + age)
    }

  }

  /**
    * 生成姓名和年龄的元组
    *
    * @return
    */
  def getNameAndAge(): (String, Int) = {
    ("Tom", 23)
  }
}

 

标签: Scala
共有 人打赏支持
粉丝 10
博文 185
码字总数 103162
×
我是菜鸟我骄傲
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: