文档章节

scala第八天

我是菜鸟我骄傲
 我是菜鸟我骄傲
发布于 2017/02/28 08:23
字数 311
阅读 4
收藏 1
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第九天Class
我是菜鸟我骄傲
粉丝 13
博文 224
码字总数 139926
作品 0
西安
架构师
私信 提问
请教java web大神,小白有个问题

广告积分:购货后的第八日起,公司向代销员返还20个积分,持续180天(除周日) 直推积分:凡是代销员亲自售出,每件产品售出后第八天一次返还300积分(除周日) 广告积分:5代内的所有成员数*...

毅屺
2015/04/15
353
0
分享一个用Scala Play + Slick 开始写的一个学习的开源web app

好, 最近在學Play,用Play在這些天寫了一個初始的app,用的是Play! framework 2.x + Play slick 1.x,前端用的是,原始的bootstrap。已经开源,https://github.com/hellomaya/scala-connec...

自由之信
2016/01/24
990
2
戴尔Precision 7530、7730正式发售:预装Ubuntu系统

今年5月份,戴尔Precision系列移动工作站“开发者版本”正式发布,预装Ubuntu Linux系统。不过当时只有Precision 3530上线发售。而今天戴尔宣布Precision 7530和7730也上线发售。 Canonical表...

六库科技
07/24
0
0
JAXenter 对 2018 年技术趋势调查:Python 为后起之秀

这是一份来自 85 个国家的超过 1,000 名参与者得出的数据:这是最新的 JAXenter 调查的结果,该调查的目的是在 2018 年找出那些尤为重要技术主题。调查了包含 10 个主题和答案帮助我们准确描...

周其
05/01
1K
3
大数据学习资源整理

github地址 后面继续更新在github utils4s scala语法学习 common库 BigData库 Spark Spark core Spark Streaming Spark SQL Spark 机器学习 Spark 其它 ES 贡献代码步骤 贡献者 utils4s包含各...

jacksu
2016/02/25
95
0

没有更多内容

加载失败,请刷新页面

加载更多

Deepin 安装wireshark抓包工具

一、关于deepin和wireshark deepin目前已经发展到15.8了,开发Android毫无压力,在四个月的使用时间里,已经非常习惯了。目前想处理一些网络问题,因此尝试在deepin上安装一个抓包工具。dee...

IamOkay
25分钟前
4
0
Docker镜像仓库服务-Nexus

建立云原生集群系统,建立自己的私有Docker镜像仓库必不可少。一方面可以加快多节点部署容器镜像的下载速度,另一方面是为了安全(容器里存储有系统所有的信息、包括密码、数据库等等,切记不...

openthings
37分钟前
1
0
127.0.0.1 和 0.0.0.0 地址的区别

1. IP地址分类 1.1 IP地址表示 IP地址由两个部分组成,net-id和host-id,即网络号和主机号。 net-id:表示ip地址所在的网络号。 host-id:表示ip地址所在网络中的某个主机号码。 即: IP-a...

华山猛男
今天
21
0
解决Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

把 总项目 下的 build.gradle 中的 两个 jcenter() 用 maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 代替。...

lanyu96
今天
6
0
基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部