摘要: Scala的集合体系结构 // Scala中的集合体系主要包括:Iterable、Seq、Set、Map。其中Iterable是所有集合trait的根trai。这个结构与Java的集合体系非常相似。 // Scala中的集合是分成可变和不可变两类集合的,其中可变集合就是说,集合的元素可以动态修改,而 阅读全文
posted @ 2019-08-29 23:33 愿无违 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 将函数赋值给变量 // Scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量 // Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线 def sayHello(name: String) { println("Hello, " + name 阅读全文
posted @ 2019-08-29 23:11 愿无违 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 将函数赋值给变量 // Scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量 // Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线 def sayHello(name: String) { println("Hello, " + name 阅读全文
posted @ 2019-08-29 23:11 愿无违 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 将trait作为接口使用 // Scala中的Triat是一种特殊的概念 // 首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似 // 在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可 // 类可以使用extends关键字继 阅读全文
posted @ 2019-08-29 22:28 愿无违 阅读(202) 评论(0) 推荐(0) 编辑
摘要: extends关键字 // Scala中,让子类继承父类,与Java一样,也是使用extends关键字 // 继承就代表,子类可以从父类继承父类的field和method;然后子类可以在自己内部放入父类所没有,子类特有的field和method;使用继承可以有效复用代码 // 子类可以覆盖父类的fi 阅读全文
posted @ 2019-08-29 22:27 愿无违 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 此对象非彼java bean对象 是scala object的对象 Object // object,相当于class的单个实例,通常在里面放一些静态的field或者method // 第一次调用object的方法时,就会执行object的constructor,也就是object内部不在metho 阅读全文
posted @ 2019-08-29 22:26 愿无违 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 定义一个简单的类 // 定义类,包含field以及方法 class HelloWorld { private var name = "leo" def sayHello() { print("Hello, " + name) } def getName = name } // 创建类的对象,并调用其 阅读全文
posted @ 2019-08-29 22:21 愿无违 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 创建Map // 创建一个不可变的Map val ages = Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23) ages("Leo") = 31 // 创建一个可变的Map val ages = scala.collection.mutable.Map("Le 阅读全文
posted @ 2019-08-29 22:15 愿无违 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 移除第一个负数之后的所有负数 // 构建数组 val a = ArrayBuffer[Int]() a += (1, 2, 3, 4, 5, -1, -3, -5, -9) // 每发现一个第一个负数之后的负数,就进行移除,性能较差,多次移动数组 var foundFirstNegative = f 阅读全文
posted @ 2019-08-29 22:10 愿无违 阅读(311) 评论(0) 推荐(0) 编辑
摘要: ArrayBuffer 在Scala中,如果需要类似于Java中的ArrayList这种长度可变的集合类,则可以使用ArrayBuffer。 // 如果不想每次都使用全限定名,则可以预先导入ArrayBuffer类 import scala.collection.mutable.ArrayBuffe 阅读全文
posted @ 2019-08-29 22:08 愿无违 阅读(6331) 评论(0) 推荐(0) 编辑
摘要: 使用yield和函数式编程转换数组 // 对Array进行转换,获取的还是Array val a = Array(1, 2, 3, 4, 5) val a2 = for (ele <- a) yield ele * ele // 对ArrayBuffer进行转换,获取的还是ArrayBuffer v 阅读全文
posted @ 2019-08-29 22:08 愿无违 阅读(918) 评论(0) 推荐(0) 编辑