文档章节

Chapter 4 -- Scala for the Impatient

翟志军
 翟志军
发布于 2015/02/17 23:25
字数 241
阅读 66
收藏 0

阿里云携手百名商业领袖、技术大咖,带您一探行进中的数字新基建!>>>

    <!-- lang: scala -->
    /////////// map  ///////////////////
    // define a map, default type is a scala.collection.immutable.Map
    val map1 = Map("alice" -> 12, "bob" -> 30)
    // map1("alice") = 30
    
    var map11 = Map("alice" -> 12, "bob" -> 30)
    //map11("alice") = 23 
    // Above is a invalid statement as map1 is. So, identify "val" and "var" in this case is the same thing.
    
    
    val map2 = new scala.collection.mutable.HashMap[String, Int]
    // yep, this is a mutable map. So, what does "val" mean in this statement?
    map2("ui") = 34
    // So, map2 is a mutable variable whatever "val" or "var"
    
    // another way to define a map
    val map3 = Map(("alice", 23), ("bob", 30))
    
    // get value from a map
    val bobAge = map3("bob")
    val _bobAge = if(map3.contains("bob")) map3("bob") else 0
    val __bobAge = map3.getOrElse("bob", 0)
    
    // update map
    map2 += ("ux" -> 33, "leader" -> 40)
    map2 -= "ui"
    
    // iteration
    for((k, v) <- map2) println(k + ":" + v)
    for((k, v) <- map2) yield (v, k)
    
    // sorted map
    val sortedMap = scala.collection.immutable.SortedMap("alice" -> 10, "Fred" -> 7, "Bob" -> 3, "Cindy" -> 4)
    val months = scala.collection.mutable.LinkedHashMap("Jan"-> 1, "Feb" -> 2, "Mar" -> 3)
    
    
    /////////// tuple  ///////////////////
    (1, 3.14, "Fred")
    // Tuple3[Int, Double, java.lang.String]
    
    val t = (1, 3.14, "Fred")
    t._2 // value would be 3.14. So, tuple is 1 first.
    
    val (first, second, third) = t // first: Int = 1   second: Double = 3.14   third: String = Fred
    val (f, s, _) = t //f: Int = 1  s: Double = 3.14
    
    
    // zip method
    val symbols = Array("<", "-", ">")
    val counts = Array(2, 10, 2)
    val pairs = symbols.zip(counts) // Array(("<", 2), ("-", 10), (">", 2))

© 著作权归作者所有

翟志军

翟志军

粉丝 355
博文 76
码字总数 79871
作品 2
深圳
程序员
私信 提问
加载中

评论(0)

Spark和Scala的网络资源汇集

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/51194023 Spark和Scala的网络资源汇集 作者:chszs,未经博主允许不得转载。经...

chszs
2016/04/19
0
0
scala 学习笔记(scala for the impatient)

很久没有写东西了,突然想写点什么,还感觉不怎么适应,呵呵,随便写点吧,话不多说,进入主题吧。 scala 融合了面相对编程和面向对象编程的思想,现在java8出世了,其中的lambda表达式和sca...

xinyitianii
2014/03/30
692
0
《Programming in Scala》读书笔记

不得不感叹一下,这本书真的是神作,不愧是Scala语言作者自己写的书。整个书的内容条理非常清晰,对于有些地方的设计也给出了具体的原因,能让你对整个语言有更好的把握。深入学习Scala必读书...

mj4738
2012/01/03
352
0
《快学Scala》 - Chapter1 ~ Chapter 4

Chapter 1 环境 http://www.scala-lang.org/download/ http://scala-ide.org/download/sdk.html 常量val、变量var 1. 一般不需要给出常量或者变量的具体类型,Scala 会根据表达式自己推断 2....

PeersLee
03/31
0
0
快学Scala 第18章 高级类型 习题解答

实现一个Bug类,对沿着水平线爬行的虫子建模。move方法向当前方向移动,turn方法让虫子转身,show方法打印出当前的位置。让这些方法可以被串接调用。例如: bugsy.move(4).show().move(6).s...

圣洁之子
2015/05/04
533
1

没有更多内容

加载失败,请刷新页面

加载更多

史上最全的“文件或目录损坏且无法读取”的解决办法大集合

问题描述: G盘打不开文件或目录损坏且无法读取,是因为这个I盘的文件系统内部结构损坏导致的。史上最全的“文件或目录损坏且无法读取”的解决办法大集合具体的恢复方法看正文 工具/软件:极...

计算无敌
41分钟前
9
0
2048游戏的最佳算法是什么? - What is the optimal algorithm for the game 2048?

问题: I have recently stumbled upon the game 2048 . 我最近偶然发现了2048游戏。 You merge similar tiles by moving them in any of the four directions to make "bigger" tiles. 您可......

javail
59分钟前
9
0
Spring Cloud Ribbon 客户端负载均衡

Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等,内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略: 简单轮询负载均衡 加权轮询负载均衡 区域...

泥瓦匠BYSocket
今天
7
0
为什么在Python 3中“范围(1000000000000000(1000000000000001))”这么快?

问题: It is my understanding that the range() function, which is actually an object type in Python 3 , generates its contents on the fly, similar to a generator. 据我了解, ra......

技术盛宴
今天
9
0
OSChina 周四乱弹 —— 卖全家桶!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @巴拉迪维 :陈慧娴的单曲《与泪抱拥》 陈慧娴的嗓音加上向雪怀的词,这样的经典组合真不多。#今日歌曲推荐# 《与泪抱拥》- 陈慧娴 手机党少年...

小小编辑
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部