scala
kxj19980524
程序员在线接单
展开
-
scala不使用中间变量,交换两个数的位置
方式一: 使用异或运算2的2进制数为 0 0 1 03的2进制数为 0 0 1 12 ^ 3的意思是 ^ 的意思是异或运算,相同的为0,或者相同为1的值为1,否则为0 所以2^3=0 0 0 10 0 0 1 ^ 0 0 1 1 = 0 0 1 00 0 00 ^ 0 0 1 1 = 0 0 11var a = 2var b = 3//-------...原创 2019-06-20 11:43:35 · 902 阅读 · 0 评论 -
Scala之递归案例即注意事项
基本介绍Scala 是运行在 Java 虚拟机(Java Virtual Machine)之上,因此具有如下特点:1) 轻松实现和丰富的 Java 类库互联互通。2) 它既支持面向对象的编程方式,又支持函数式编程。3) 它写出的程序像动态语言一样简洁,但事实上它确是严格意义上的静态语言。4) Scala 就像一位 武林中的集大成者,将过去几十年计算机语言发展历史中的精萃集于一身,化繁为...原创 2019-07-06 09:48:31 · 444 阅读 · 0 评论 -
Scala之泛型、上下界、视图界定 、上下文界定
泛型的基本介绍基本介绍1) 如果我们要求函数的参数可以接受任意类型。可以使用泛型,这个类型可以代表任意的数据类型。2) 例如 List,在创建 List 时,可以传入整型、字符串、浮点数等等任意类型。那是因为 List 在类定义时引用了泛型。比如在 Java 中:public interface List<E> extends Collection<E>Scal...原创 2019-07-08 10:56:22 · 652 阅读 · 0 评论 -
Scala之函数式编程高级
偏函数(partial function)提出一个需求,引起思考给你一个集合 val list = List(1, 2, 3, 4, "abc") ,请完成如下要求:1) 将集合 list 中的所有数字+1,并返回一个新的集合2) 要求忽略掉 非数字 的元素,即返回的 新的集合 形式为 (2, 3, 4, 5)解决方式-filter + map 返回新的集合, 引出偏函数解决方式-模式...原创 2019-07-03 14:41:34 · 235 阅读 · 0 评论 -
Scala之模式匹配
基本介绍Scala 中的模式匹配类似于 Java 中的 switch 语法,但是更加强大。模式匹配语法中,采用 match 关键字声明,每个分支采用 case 关键字进行声明,当需要匹配时,会从第一个 case 分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有 case 都不匹配,那么会执行 case _ 分支,类似于 Java 中 de...原创 2019-07-02 11:31:47 · 286 阅读 · 0 评论 -
Scala之集合高阶函数的使用
高阶函数使用案例一 高阶函数就说一个函数可以传进来一个别的函数进行使用.object HighOrderFunDemo02 { def main(args: Array[String]): Unit = { //使用高阶函数 sun2 _,不能写成sum2(),如果写成小括号表示调用函数,写成_表示传入一个函数 val res = test(sum2 _, ...原创 2019-07-02 09:51:35 · 713 阅读 · 0 评论 -
Scala之集合的操作
1) Scala 同时支持不可变集合和可变集合,不可变集合可以安全的并发访问两个主要的包:不可变集合:scala.collection.immutable可变集合: scala.collection.mutable2) Scala 默认采用不可变集合,对于几乎所有的集合类,Scala 都同时提供了可变(mutable)和不可变(immutable)的版本3) Scala 的集合有三大类...原创 2019-07-01 16:20:14 · 685 阅读 · 0 评论 -
Scala之并发编程模型Akka
Akka 介绍1) Akka 是 JAVA 虚拟机 JVM 平台上构建高并发、分布式和容错应用的工具包和运行时,你可以理解成 Akka 是编写并发程序的框架。2) Akka 用 Scala 语言写成,同时提供了 Scala 和 JAVA 的开发接口。3) Akka 主要解决的问题是:可以轻松的写出高效稳定的并发程序,程序员不再过多的考虑线程、锁和资源竞争等细节。Actor 模型用...原创 2019-07-06 10:16:16 · 259 阅读 · 0 评论