大数据之Scala
大数据学习之Scala语言
念达
沸腾的时光怎能被荒芜
展开
-
scala学习总结1
scala执行流程:①源文件(scala)=scalac(编译)=> 字节码文件(.class) =scala(运行)=> 结果②源文件(scala) =scala(运行)=> 结果(速度较慢)scala变量:①var修饰:该变量可以改变值②val修饰:该变量值不可变,等同于用final修饰(建议使用)③变量声明是必须初始化scala数据类型图:数据类型详解...原创 2019-09-17 21:43:43 · 128 阅读 · 0 评论 -
scala学习总结2
类与对象:创建类的基本语法:[修饰符] class 类名{ 类体 }注意点:①scala语法中,类并不声明为public,所有这些类都具有公有可见性(即默认就是public)②一个.scala源文件可以包含多个类成员变量(属性):①Scala中声明一个属性,必须显示的初始化,然后根据初始化数据的类型自动推断,属性类型可以省略②如果赋值为null,则一定要加类型,因为不加类型, 那...原创 2019-09-18 22:47:40 · 236 阅读 · 0 评论 -
scala学习总结3
面向对象编程三大特征封装:封装意指将抽象的的数据和对数据的操作封装在一起,数据被保护在内部,程序其他部分只有通过被授权的操作(成员方法),才能对数据进行操作;封装的优点:①对数据细节隐藏 ② 对数据进行验证,保证操作安全合理scala封装的注意事项和细节:①scala为了简化代码开发,当声明一个属性变量时(var修饰),底层会生成相应的get/set方法;如果属性省略访问修饰符,则ge...原创 2019-09-21 15:44:56 · 125 阅读 · 0 评论 -
scala学习总结4(嵌套类、隐式相关)
嵌套类Scala嵌套类的使用1(代码实例):object TestInnerClass { def main(args: Array[String]): Unit = { val obj1 = new OuterClass val obj2 = new OuterClass val inner1 = new obj1.InnerClass val in...原创 2019-09-22 16:19:49 · 183 阅读 · 0 评论 -
scala学习总结5(集合体系)
集合Scala集合的基本介绍:①集合分为不可变和可变里两大部分,不可变集合可以并发地安全访问;②两个主要的包:scala.collection.immutable、scala.collection.mutable③Scala中默认使用不可变集合,绝大部分集合都有可变和不可变两个版本④Scala集合的三大类:Map、Set、Seq(都继承Iterable特质)两类集合体系图如下:...原创 2019-09-23 19:05:35 · 129 阅读 · 0 评论 -
scala学习总结6([Array/ArrayBuffer]、[Tuple]、[List/ListBuffer])
定长数组:声明方式一:val arr = new Array[Int](10)声明方式二:var arr02 = Array(1, 3, "xxx")//apply方法创建数组对象变长数组:代码实例:val arr = new ArrayBuffer[Any](1,2,"Curry") //定义println(arr(0))println(arr.length)for(i <...原创 2019-09-23 21:24:06 · 599 阅读 · 0 评论 -
scala学习总结7(Queue、Map)
队列:Queue基本说明:①队列是一个有序列表,底层用数组或是链表实现;②遵循先入先出原则③scala中,有scala.mutable.collection.Queue(常用) 和scala.immutable.collection.Queue代码示例1(添加元素):object TestQueue { def main(args: Array[String]): Uni...原创 2019-09-24 10:01:21 · 139 阅读 · 0 评论 -
scala学习总结8(Set、集合元素的操作)
集:Set基本介绍:scala中默认使用不可变集合,若要使用可变集合,需要引用 scala.collection.mutable.Set 包;Set中元素无序不重复;创建:①val set = Set(1, 2, 3) //不可变②val mutableSet = mutable.Set(1, 2, 3) //可变添加:mutableSet.add(4) //方式1m...原创 2019-09-25 08:54:07 · 813 阅读 · 0 评论 -
scala学习总结9(集合的扩展操作)
集合操作扩展拉链(合并):基本介绍:当我们需要将两个集合进行 对偶元组合并,可以使用拉链。实例:val list1 = List(1,2,3)val list2 = List(9,8,7)val list3 = list1.zip(list2)println(list3)//(1,9)(2,8)(3,7)注意事项:①如果两个集合个数不对应,会造成数据丢失。②集合不限于...原创 2019-09-25 16:43:57 · 93 阅读 · 0 评论 -
scala学习总结10(match、样例类)
match基本介绍:① Scala中的模式匹配类似于Java中的switch语法,但是功能更加强大。②模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明。③当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹 配不成功,继续执行下一个分支进行判断。④如果所有case都不匹配,那么会执行case _ 分支,类似于Java中def...原创 2019-09-29 21:57:46 · 180 阅读 · 0 评论 -
scala学习总结11(函数)
偏函数:基本介绍:①在对符合某个条件,而不是所有情况进行逻辑操作时,使用偏函数是一个不错的选择;②将包在大括号内的一组case语句封装为函数,我们称之为偏函数,它只对会作用于指定类型的参数或指定范围值的参数实施计算,超出范围的值会忽略;③偏函数在Scala中是一个特质PartialFunction案例入门:给你一个集合val list = List(1, 2, 3, 4, “a...原创 2019-10-10 14:29:32 · 111 阅读 · 0 评论