文档章节

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)
  }
}

 

© 著作权归作者所有

共有 人打赏支持
我是菜鸟我骄傲
粉丝 12
博文 219
码字总数 138106
作品 0
西安
架构师
请教java web大神,小白有个问题

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

毅屺
2015/04/15
247
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
904
2
戴尔Precision 7530、7730正式发售:预装Ubuntu系统

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

六库科技
07/24
0
0
大数据学习资源整理

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

jacksu
2016/02/25
95
0
分享2014年6月4号OpenERP社区日活动详情

上海寰享网络科技有限公司将于2014年6月4到6号参加下届OpenERP社区日活动 届时我们将通过微博、微信等平台向您实时发布OpenERP社区日的活动,让您仿佛置身会场之内。 在社区日活动前,还将会...

Annieguo
2014/05/15
383
1

没有更多内容

加载失败,请刷新页面

加载更多

申请Let's Encrypt永久免费SSL证书

环境安装 1、安装git yum install git-core 2、安装python 系统自带 不用安装 只要版本大于2.7即可。 获取Let's Encrypt免费SSL证书 先停止nginx 在阿里云安全组里加入 443端口的入规则 git ...

HGMrWang
36分钟前
1
0
如何使用playframework进行更好的开发

1: 自定义基类Controller 相信刚开始使用Play的人写的Controller 都继承于 play.mvc.Controller , 但这并不是一个很好的选择,自建基类Controller可以扩展更多的功能。 1.1 验证功能。 后台...

tuerqidi
41分钟前
4
0
解决ubuntu下root用户 不能ftp登陆的问题

解决ubuntu下root用户 不能ftp登陆的问题 一般情况下,由于种种原因ftp是不让root用户远程登陆,但只要你修改以个文件就可以登陆了. 注释掉 /etc/ftpusers 中的root即可 (最后重启vsftpd serv...

15834278076
52分钟前
0
0
《JavaScript高级程序设计(第3版)》阅读笔记

第6章 面向对象的程序设计 6.2 创建对象 6.2.1 工厂模式 JavaScript创建对象(一)—— 工厂模式 6.2.2 构造函数模式 JavaScript创建对象(二)——构造函数模式 6.2.3 原型模式 JavaScript...

Bob2100
57分钟前
1
0
Windows小技巧 – Win+R提高Windows使用效率

追求效率的朋友都需要一款顺手的快速启动工具,Win 平台上有键盘流的RunZ、Listary、ALTRun、Launchy、Wox 和图标流的 Fences、Rolan、 WinLaunch 等,而 Mac 上也有 Alfred、Spotlight。 而...

QQZZFT
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部