
Scala
小飞猪小肥猪
这个作者很懒,什么都没留下…
展开
-
Scala
Scala概述1.什么是Scala? Scala是一种多范式的编程语言,其设计的初衷是要继承面向对象编程和函数式编程的各种特性。Scala运行于Java平台(java虚拟机),并兼容现有的java程序。2. 为什么要学Scala1.优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。2. 速度快:Scala语言表达式能力强,一行...原创 2019-01-03 17:14:46 · 199 阅读 · 0 评论 -
Scala偏函数
被包含在花括号内没有match的一组case语句是一个偏函数,它是PartialFunction[A,B]的一个实例,A代表参数类型,B代表返回类型,常用作输入模式匹配package pricateobject PartialFuncDemo { def func1:PartialFunction[String,Int]={ case "one"=>1 case...原创 2019-01-05 10:41:20 · 130 阅读 · 0 评论 -
Scala的Option类型
在Scala中Option类型样例类用来表示可能存在或也可能不存在的值(Option的子类有Some和None)。Some包装了某个值,None表示没有值package pricate.超类object OptionDemo { def main(args: Array[String]): Unit = { val map=Map("a"->1,"b"->2) ...原创 2019-01-05 10:22:57 · 460 阅读 · 0 评论 -
Scalad的样例类
在Scala中样例类是一中特殊的类,可用于模式匹配。case class是多例的,后面要跟构造参数,case object是单例的package pricate.超类import Scala_2019_01_04Match.{CheckTimeOutTask, HearBeat, SubmitTask}import scala.util.Random//在Scala中样类是一种特殊的类...原创 2019-01-05 10:16:32 · 286 阅读 · 0 评论 -
Scala模式匹配和样例类
Scala模式匹配和样例类Scala有一个十分强大的模式匹配机制,可以应用到很多场合,如switch语句、类型检查等,并且scala还提供了样例类,对模式匹配进行了优化,可以快速匹配 1.匹配字符串package pricateimport scala.util.Randomobject CaseDemo01 extends App { val arr=Array("鲁班",...原创 2019-01-05 10:12:12 · 303 阅读 · 0 评论 -
Scala的继承
6.3.1 扩展类在Scala中、扩展类的方法和Java一样都是使用extends关键字6.3.2 重写方法在Scala中重写一个非抽象的方法必须使用override修饰符6.3.3 类型检查和转换6.3.4 超类的构造 trait相当于java中抽象类,它们的区别是 trait可以在抽象类写入方法,也可以不写,再继承后写,根据当时编码情况 一个抽象类中可以有多个...原创 2019-01-04 21:31:36 · 719 阅读 · 0 评论 -
Scala的apply方法
.通常会在类的伴生对象中定义apply方法,当遇到类名(参数1,....参数n)时,apply方法会被调用package pricateobject ApplyDemo { def main(args: Array[String]): Unit = { //调用了array伴生对象的apply方法 //def apply(x:Int,xs:Int*)Arra[Int]...原创 2019-01-04 21:02:27 · 329 阅读 · 0 评论 -
Scala的单例模式
Scala的单例模式在Scala中没有静态方法和静态字段,但是可以使用object这个语法结构来达到同样的目的1.存放工具方法和常量2.高效共享单个不可变的实例 3. 单例模式 package pricateimport scala.collection.mutable.ArrayBufferobject SingletonDemo { def main(ar...原创 2019-01-04 20:44:27 · 2613 阅读 · 1 评论 -
Scala的伴生对象
Scala的伴生对象 在Scala的类中,与类名相同的对象叫做伴生对象,类和伴生对象之间可以相互访问私有的方法和属性 ,伴生对象可以调用类中方法和参数。package pricateclass Dog { val id=1 private var name="小猪猪" def printName(): Unit ={ //在Dog类中可以访问伴生对象Dog的私有属性...原创 2019-01-04 20:26:27 · 355 阅读 · 0 评论 -
Scala的构造器
Scala的构造器注意:主构造器会执行类定义中的所有语句 实例一/** *每个类都有主构造器,主构造器的参数直接放置类名后面,与类交织在一起 */class Student(val name: String, val age: Int){ //主构造器会执行类定义中的所有语句 println("执行主构造器") try { println("读取文件...原创 2019-01-04 20:02:38 · 238 阅读 · 0 评论 -
Scala类的定义
package pricate//在scala中,类并不用声明为public//scala源文件中可以包含多个类,所有这些类都具有公有客可见性class Person {//用scala修饰的变量是只读属性,有gettter但没有setter //相当于java中用final修饰的变量 val id="9527" //用var修饰的变量既有getter又有setter v...原创 2019-01-04 19:26:04 · 1131 阅读 · 0 评论 -
Scala练习
//创建一个列表//将lst0中每个元素乘以10后生成一个新的集合 //将lst0中的偶数取出来生成一个新的集合 //将lst0排序后生成一个新的集合//反转顺序 ...原创 2018-12-29 16:25:40 · 427 阅读 · 0 评论 -
Scala 进行算数运算
聚合函数1. 先创建一个集合2. 求和3.最大值4.最小值5. 相加5.2 a.fold //聚合时要将初始值累加进去5.3 a.par.fold(10) //并行执行(并行化),初始值每个线程都加10,每次运行结果不一样5.4 左加5.5 右加6.迭代a.reduce(_+_) 第一个_是初始值,或者为1+2=...原创 2018-12-29 15:51:24 · 2113 阅读 · 0 评论 -
Scala练习题 对单词进行统计
1.创建类型为String的list集合2. 将list集合按“ ”(空格)进行分割 将list中的元素都进行分割,一个String类型的内容按(“ ”)分割3.将res6进行分割合并,将两个Array合并成一个list4. 上两步的优化。flatMap 分割压平5. 1 根据以上步骤思考,进行单词统计,需要转换成Map才可以根据<K,V>进行统计...原创 2018-12-29 15:19:35 · 764 阅读 · 0 评论 -
Scala编程实战 RPC
1. 熟练使用Scala编写程序2. 项目概述 2.1 需求 目前大多数的分布式架构层通信都是通过RPC实现的,RPC架构非常多,比如Hadoop项目的RPC通信框架,但是Hadoo在设计之初就是为了运行长达数小时的批量而设计的,在某些极端的情况下,任务提交的延迟很高,所有Hadoop的RPC显得有些笨重 Spark的RPC是通过AKKa类库实现的,Akka用Scala语言开发...原创 2019-01-08 21:29:02 · 358 阅读 · 0 评论