Scala
晚秋_梦依在
这个作者很懒,什么都没留下…
展开
-
Scala 学习(三)--- 映射和元组
A. 映射 构建映射 1.1. 不可变映射 1.2. 可变映射 获取映射中的值 如果映射中并不包含某个指定的键,则会抛出异常,我们可采用contains方法 更改映射中的值 除了上图中使用”+=, -=”来添加,删除多个关系外(注:+=,-=只能针对可变Map操作),我们还可以使用”+, -“来添加,删除关系生成一个新的Map,原Map内容不变(注:+, -对可变和不可变Map都可以操作原创 2017-04-25 14:49:43 · 395 阅读 · 0 评论 -
Scala 学习(一)--- 方法和函数
定义方法和函数1.1 定义方法 1.2 定义函数 方法和函数的区别 函数式编程语言中,函数是“头等公民”,可以像其他数据类型一样当做参数被传递和操作 区别:函数可以作为参数传入到方法中 定义函数的两种方式 函数f4 相比 f3而言,多了一个函数类型 方法转化成函数原创 2017-04-24 16:43:02 · 423 阅读 · 0 评论 -
Scala 学习(二)--- 数组
定长数组 a. 初始化一个长度为10的定长数组,其中所有元素均为0 b. 直接打印定长数组,内容为数组的hashcode值 c. 没有new,相当于调用了数组的apply方法,直接为数组赋值。下图中的数组arr2和arr3,均初始化一个长度为1的定长数组,内容为10. arr2显示指定了数组的元素类型为Int,其余没有任何差别。 变长数组 a. 如果想使用数组缓冲,需要导入import sc原创 2017-04-24 22:07:34 · 369 阅读 · 0 评论 -
Scala 学习(四)--- 集合
A. 序列scala的集合有三大类:序列Seq,集Set,映射Map,所有的集合都扩展自Iterable特质。在scala中,集合含有可变(mutable)和不可变(immutable)两种类型。序列 在scala中,列表要么为空(Nil表示空列表),要么是一个head元素加上一个tail列表。 注: ::操作符是右结合的,如,是将给定的头和尾创建一个新的列表。如:9 :: 5 :: 2 ::原创 2017-04-26 14:18:15 · 392 阅读 · 0 评论 -
Scala 学习(五)--- 练习
创建一个List 将 lst0中的每个元素乘以10后生成一个新的集合 将lst0中的偶数取出来生成一个新的集合 将lst0排序后生成一个新的集合 反转顺序 将lst0中的元素4个一组,类型为Iterator[List[Int]] 将Iterator转换成List 将多个list压扁成一个List 先按空格切分,在压平 并行计算求和 化简:reduce:将非特定顺序的二元操作应用到所有元素 化简:r原创 2017-04-26 20:00:10 · 1497 阅读 · 0 评论 -
Scala 学习(六)--- 单机实现wordcount详细解读
object WordCount { def main(args: Array[String]): Unit = { val lines = List("hello tom hello jerry", "hello jerry", "hello kitty") val words = lines.flatMap(_.split(" ")) val wordAndOne =原创 2017-04-26 20:43:55 · 785 阅读 · 0 评论 -
Scala 学习(七)--- 类
A. 类的定义 Scala中,类并不用声明为public Scala源文件中可以包含多个类,所有这些类都具有公有可见性 val修饰的变量具有只读属性,有getter但没有setter方法,相当于java中的final修饰的变量 var修饰的变量既有getter,又有setter方法 类私有字段,即private修饰的变量,只能够在类的内部以及伴生对象中使用 对象私有字段,即private[this]原创 2017-04-27 10:07:55 · 477 阅读 · 0 评论 -
Scala 学习(八)--- 对象
1. 单例对象 单例对象顾名思义只有一个对象 Scala中没有静态方法和静态字段,但是可以使用object这个语法结构来达到同样的目的 object SingletonDemo { println("单例对象") def main(args: Array[String]): Unit = { val s1 = SingletonDemo println("s1: " + s1原创 2017-04-27 14:37:23 · 376 阅读 · 0 评论