1、映射  Map

定义 ,取值,遍历,排序

2. 元组

定义,取值,拉链操作

import scala.collection.mutable

/**
* 映射和元组
*
* @author xwolf
* @date 2017-04-12 11:23
* @since 1.8
*/
object MapTest { def main(args: Array[String]): Unit = {
tuple()
} private def map(): Unit ={
//定义映射 ->对偶操作
var map =Map("id"->1,"name"->"王思琪",("age",10)) var twoMap = Map("detail"->"优秀屌丝","state"->0)
// += 添加K-V
map += ("birth"->"20160101")
//移除 key value
map -= "id"
//两个映射合并
val newMap = map ++ twoMap
println(newMap)
println(map("name"))//map取值
val name = if (map.contains("name1")) map("name") else None
println(name)
//映射遍历
for (elem <- map) {
println(elem)
} for((k,v)<-map){
println(k+","+v)
} val keys = map.keySet
for(k<-keys){
println("k="+k+",value="+map(k))
} // k v 互换 生成新的map
val kMap = for((k,v)<-map) yield (v,k)
println(kMap) //有序map 底层是java 的TreeMap
val sortMap= mutable.SortedMap("a"->1,"age"->122,"state"->0,"name"->"老王")
println(sortMap) } /**
* 元组操作
*/
def tuple(): Unit ={
//元组定义
val tuple =(1,2,12,4,15)
println(tuple)
println(tuple._3)//获取第三个元素,非下标
println(tuple _3)//获取第三个元素,非下标 val one = Array("Hello","Scala","Java")
val two =Array(1,2,3)
//拉链操作 将两个数组合并为Map
val ou =one.zip(two)
println(ou.toBuffer) } }

  

【scala】 scala 映射和元组操作(四)的更多相关文章

  1. Scala的映射和元组操作

    映射和元组操作 构造Map // 构造一个不可变的MAP映射,类似与key -> value这样的组合叫做对偶 val score = Map("Jack" -> 12 ...

  2. Scala:映射和元组

    映射是键值对偶的集合.Scala有一个通用的叫法——元组:n个对象的聚集,并不一定要相同的类型. 构造映射 键A -> 值B scala> val scores = Map()//不可变映 ...

  3. Scala学习(四)---映射和元组

    映射和元组 摘要: 一个经典的程序员名言是:"如果只能有一种数据结构,那就用哈希表吧".哈希表或者更笼统地说映射,是最灵活多变的数据结构之一.映射是键/值对偶的集合.Scala有一个通用的叫法:元组, ...

  4. 快学Scala习题解答—第四章 映射和元组

    4 映射和元组  4.1 设置一个映射,当中包括你想要的一些装备,以及它们的价格.然后构建还有一个映射.採用同一组键,可是价格上打9折 映射的简单操作  ,"gun"->18 ...

  5. Scala从入门到精通之四-映射和元组

    在Scala中映射之键值对的集合,元组是n个对象的聚集,但是对象的类型不一定相同 本节内容要点 Scala中映射的创建,遍历和查询 如何从可变和不可变映射中做出选择 Scala映射和Java映射见的互 ...

  6. 《快学Scala》——数组、映射和元组

    数组 定长数组:在Scala中可以用Array,初始化一个定长数组.例如: val nums = new Array[Int](10) //10个整数的数组,所有元素初始化为0 val a = new ...

  7. Scala从入门到放弃(三)Scala的数组、映射、元组和集合

    1.数组 1.1定长数组和变长数组 object ArrayDemo { def main(args: Array[String]): Unit = { //初始化一个长度为8的定长数组,其数组元素均 ...

  8. 学好Spark/Kafka必须要掌握的Scala技术点(一)变量、表达式、循环、Option、方法和函数,数组、映射、元组、集合

    前言 Scala是以JVM为运行环境的面向对象的函数式编程语言,它可以直接访问Java类库并且与Java框架进行交互操作.正如之前所介绍,Spark是用Scala语言编写的,Kafka server端 ...

  9. 快学Scala-第四章 映射和元组

    知识点: 1.构造映射,映射是对偶的集合 val scores1 = Map("Alice" -> 10, "Bob" -> 7, "Ci ...

随机推荐

  1. 如何使用sendEmail发送邮件

    sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bashperl和web站 ...

  2. linux brctl command not found

    [root@localhost ~]# brctl-bash: brctl: command not found 解决方法: [root@localhost ~]# yum install bridg ...

  3. css样式冲突问题练习例子

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org ...

  4. 使用 js替换网页中的关键词为链接

    要求把一段html脚本中的疾病名添加到疾病库的链接,只添加一次,要避开超链接或图片链接. 最初是用的    str.replace('糖尿病', '<a href=...>糖尿病</ ...

  5. SQL Server默认1433端口修改方法

    SQL Server默认端口1433端口并不是十分的安全,需要将SQL Server默认端口进行更改,在更改之前,让我们先了解一下什么是1433端口. 什么是1433端口 1433端口,是SQL Se ...

  6. 【转】Smartphone--Android真机管理平台

    背景 最近在工作中发现几个问题: 作为测试人员,在做产品兼容性测试时,发现手上的测试设备总是不够用,但是可能其他同事的设备在闲置着: 作为Android和H5开发人员,如果测试同事发现一个兼容性的bu ...

  7. How to revert your file&folder by "FOUND.000"

    当你在硬盘分区间复制很多文件时,当你使用下载软件时,当你用Word写作时,如果忽然遇见停电.Windows失去响应或者系统自动重新启动,在看着屏幕一黑的瞬间你会有何感受?只能希望在重新启动以后重要的文 ...

  8. resin4.0.23+nginx1.1集群

    一,web服务器小论 以前的公司使用的web服务器是tomcat(tomcat+apache作集群),现在的公司是一家互联网公司,采用的架构是resin+nginx作集群(resin比tomcat快? ...

  9. 【HTML】div居中显示

    方法1: .parent { width:800px; height:500px; border:2px solid #000; position:relative; } .child { width ...

  10. Mybatis表关联一对多

    有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如:最常见到的多对一,一对多等.这些查询是如何处理的呢,这一讲就讲这个问题.前面几篇教程中介绍的都是单表映射的一 ...