scala第八天

packagecom.learn.scala

/**

* scala第八天

* Created by zhuqing on 2017/2/27.

*/

objectDay8MapAndTuple {

defmain(args: Array[String]): Unit = {

valmap =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类型的集合。

*/

valtuple = ("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)

/**

* 拉链操作,将两个数组合并成一个对偶数组

*/

valnames =Array("Robbie","Tom","Lizzy")

valages =Array(22,23,21)

valnewTupes = names.zip(ages)

for((name, age) <- newTupes) {

println(name +"=>"+ age)

}

}

/**

* 生成姓名和年龄的元组

*

*@return

*/

defgetNameAndAge(): (String, Int) = {

("Tom",23)

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • scala文档 包含内容 1基础 2控制结构和函数 3数组相关操作 4映射和元组 5类 6对象 7.包和引入(x)...
    zlcook阅读 4,565评论 0 3
  • Scala的集合类可以从三个维度进行切分: 可变与不可变集合(Immutable and mutable coll...
    时待吾阅读 11,078评论 0 4
  • Scala学习笔记: 1.1 scala的基础语法 声明与定义(赋值):声明变量时可以指定类型,不指定也可以自动识...
    哎哟喂喽阅读 3,596评论 0 2
  • 数组 :new Array[Int](8)与Array[Int](8)的区别:第一种8个元素,第二个定义一个值为8...
    夙夜M阅读 5,750评论 1 2
  • 一群人的路, 走了太久, 总有一些腻烦, 太多迁就你似乎快忘了自己, 想要一个人走走, 发现孤单原来没那么可怕 还...
    木白王阅读 1,501评论 0 0