《快学Scala》(英文版:《Scala for the Impatient》),代码已传github:
https://github.com/vernonzheng/scala-for-the-Impatient
书为第一版。scala为2.11.4,jdk1.7.45,操作系统Mac OS X Yosemite 10.10.1。
第四章 映射和元组
4.1
设置一个映射,其中包含你想要的一些装备,以及它们的价格。然后构建另一个映射,采用同一组键,但是价格上打9折
答:
|
|
4.2
编写一段程序,从文件中读取单词。用一个可变映射来清点每个单词出现的频率。读取这些单词的操作可以使用java.util.Scanner
答:
|
|
4.3
重复前一个练习,这次用不可变的映射
答:
|
|
4.4
重复前一个练习,这次使用已排序的映射,以便单词可以按顺序打印出来
答:
|
|
4.5
重复前一个练习,这次使用java.util.TreeMap并使之适用于Scala API
答:
|
|
4.6
定义一个链式哈希映射,将”Monday”映射到java.util.Calendar.MONDAY,依次类推加入其他日期。展示元素是以插入的顺序被访问的
答:
|
|
4.7
打印出所有Java系统属性的表格
答:
|
|
4.8
编写一个函数minmax(values:Array[Int]),返回数组中最小值和最大值的对偶
答:
|
|
4.9
编写一个函数Iteqgt(values:Array[int],v:Int),返回数组中小于v,等于v和大于v的数量,要求三个值一起返回
答:
|
|
4.10
当你将两个字符串拉链在一起,比如”Hello”.zip(“World”),会是什么结果?想出一个讲得通的用例
答:
|
|
StringOps中的zip定义如下:
abstract def zipB: StringOps[(A, B)]
GenIterable是可遍历对象需要包含的trait,对于String来说,它是可遍历的。但是它的遍历是遍历单个字母。 所以拉链就针对每个字母来进行。
参考:
《快学Scala》:http://book.douban.com/subject/19971952/
(转载本站文章请注明作者和出处 Vernon Zheng(郑雪峰) – vernonzheng.com ,请勿用于任何商业用途)