随笔分类 -  Scala

摘要:Option是一个抽象类,有一个具体的子类Some和一个对象None,SOme针对有值的情况,None针对没有值的情况 当方法不确定是否有返回值时,可以返回Option[T],其中T为类型参数。对于这类方法,如果确实有T类型的对象需要返回, 会将该对象包装一个Some对象并返回;如果没有值需要返回, 阅读全文
posted @ 2020-02-14 19:31 后山前堂客 阅读(246) 评论(0) 推荐(0)
摘要:遍历 List遍历 val list1 = (1 to 100).toList list1.foreach(i => println(i)) list1 foreach(i => println(i)) list1 foreach println Map遍历 scala> val mapDogs = 阅读全文
posted @ 2020-02-14 16:41 后山前堂客 阅读(195) 评论(0) 推荐(0)
摘要:当函数的执行依赖于声明在函数外部的一个或多个变量时,则成这个函数为闭包。 scala> var sum = 0 sum: Int = 0 scala> val accumulator = (x:Int)=> sum += x //包含外部变量sum的闭包 accumulator: Int => Un 阅读全文
posted @ 2020-02-14 12:54 后山前堂客 阅读(122) 评论(0) 推荐(0)
摘要:当一个函数包含其他函数作为其参数或返回一个函数时,该函数成为高阶函数。 【未完待续】 阅读全文
posted @ 2020-02-14 12:43 后山前堂客 阅读(118) 评论(0) 推荐(0)
摘要:方法定义: def 方法名(参数名:参数类型):返回结果类型 = {方法体} ## 非匿名函数的定义和使用# 函数名为add,入参为Int类型的x,函数返回值 Int,函数体为 x+1scala> def add(x:Int):Int = {x + 1} add: (x: Int)Int scala 阅读全文
posted @ 2020-02-14 12:42 后山前堂客 阅读(225) 评论(0) 推荐(0)
摘要:函数式编程将计算视为数学上的函数计算 函数和普通的值一样,是“头等公民”,可以像其他任何数据类型的值一样,被传递和操作 函数式编程成为越来越流行的编程范式: 大数据应用和并发需求的额驱动 纯函数的行为表现出与上下文无关的透明性和无副作用性,避免了多线程并发应用中最复杂的状态同步问题 Scala在架构 阅读全文
posted @ 2020-02-14 09:40 后山前堂客 阅读(136) 评论(0) 推荐(0)
摘要:case中的通配符 _ 相当于java中的default分支 match结构中不需要break语句来跳出判断,scala会从前往后匹配,一旦配到一个分支即停止 匹配字符: import scala.io.StdIn._ println("Please input the score Level: " 阅读全文
posted @ 2020-02-14 00:52 后山前堂客 阅读(392) 评论(0) 推荐(0)
摘要:当定义一个类时,如果在class关键字前加上case关键字,则该类称为case类。 case类是一种特殊的类,它们经过优化以被用于模式匹配 Scala为case类自动重载了许多实用的方法,包括toString、equals和hashcode方法。 Scala为每一个case类自动生成一个伴生对象,其 阅读全文
posted @ 2020-02-14 00:36 后山前堂客 阅读(349) 评论(0) 推荐(0)
摘要:Iterator(迭代器)不是一种容器,而是提供了一种按顺序访问容器元素的数据结构。 Iterator提供两种基本操作: next : 返回迭代器中的下一个元素 hasNext: 判断迭代器是否还有下一个元素 scala> val it = Iterator("hello","huahua","do 阅读全文
posted @ 2020-02-13 17:58 后山前堂客 阅读(316) 评论(0) 推荐(0)
摘要:一系列键值对的容器 键是唯一的,但值不必是唯一的 可以根据键进行快速检索 类别:scala.collection.mutable.Map 和 scala.collection.immutable.Map,默认是使用不可变Map scala.collection.immutable.Map: //定义 阅读全文
posted @ 2020-02-13 17:15 后山前堂客 阅读(167) 评论(0) 推荐(0)
摘要:不重复元素的集合 Set中的元素是按照“哈希”方式对其值进行组织,便于快速查找(List中的元素是按照插入的先后顺序来进行组织) Set分为 scala.collection.mutable.Set 和 scala.immutable.collection.Set, 默认是 scala.immuta 阅读全文
posted @ 2020-02-13 16:43 后山前堂客 阅读(145) 评论(0) 推荐(0)
摘要:定义:一种特殊的、带索引的、不可变数字等差序列。 其中包括从给定起点和终点、按照给定步长 的所有值。 Range支持创建不同数据类型的数值序列,包括 Int、Long、Fload、Double 等 Range创建: 创建1 到 5的数值序列,不包括终点5,步长为1 scala> val r1 = R 阅读全文
posted @ 2020-02-13 16:19 后山前堂客 阅读(750) 评论(0) 推荐(0)
摘要:对于ListBuffer, += 等效于insert, -= 等效于remove scala> import scala.collection.mutable.ListBuffer import scala.collection.mutable.ListBuffer // 构造ListBuffer 阅读全文
posted @ 2020-02-13 16:04 后山前堂客 阅读(625) 评论(0) 推荐(0)
摘要:列表:一种共享相同类型的不可变的对象序列 ## List 构造scala> val list1 = List("hello","huahua","dog","boy") list1: List[String] = List(hello, huahua, dog, boy) scala> list1. 阅读全文
posted @ 2020-02-13 15:50 后山前堂客 阅读(208) 评论(0) 推荐(0)
摘要:Scala用了三个包来组织容器类,分别是scala.collection 、scala.collection.mutable和scala.collection.immutable。 scala.collection包中的容器通常都具备对应的不可变实现和可变实现。 scala.collection包中 阅读全文
posted @ 2020-02-13 15:18 后山前堂客 阅读(190) 评论(0) 推荐(0)
摘要:定义:元组是对不同类型对象的一种简单封装, 如 scala> val t1 = (1,2.2,3.333,"hello","huahua") t1: (Int, Double, Double, String, String) = (1,2.2,3.333,hello,huahua) 元组的索引: s 阅读全文
posted @ 2020-02-13 14:38 后山前堂客 阅读(111) 评论(0) 推荐(0)
摘要:定义:数据是一种可变的、可索引的、元素类型相同的数据集合。 数据的初始化: 方法1:通过显式指定数组类型 scala> val intArr = new Array[Int](5) intArr: Array[Int] = Array(0, 0, 0, 0, 0) 方法2:通过隐式推断 scala> 阅读全文
posted @ 2020-02-13 10:43 后山前堂客 阅读(108) 评论(0) 推荐(0)
摘要:Scala在 包scala.util.control中提供了一个Breaks类,该类中包括两个方法,对循环结构进行控制: brakable 和 break ## 模拟java中的break import scala.util.control.Breaks._ val ary = Range(1,10 阅读全文
posted @ 2020-02-12 23:18 后山前堂客 阅读(534) 评论(0) 推荐(0)
摘要:Scala不支持java的“检查异常”,所有的异常都被当做“不受检查异常”(即 运行时异常) Scala的异常捕获通过try - catch 语句 import java.io.FileReader import java.io.FileNotFoundException import java.i 阅读全文
posted @ 2020-02-12 21:40 后山前堂客 阅读(141) 评论(0) 推荐(0)
摘要:结构: for(变量 <- 表达式) 语句块 变量 <- 表达式 叫做 生成器 for(i <- 1 to 10) println(" > i: " + i) # 步长为1 for(i <- 1 to 10 by 3) println(" > i: " + i) # 步长为3 “守卫表达式”(gua 阅读全文
posted @ 2020-02-12 16:23 后山前堂客 阅读(143) 评论(0) 推荐(0)