scala
Next__One
学生
展开
-
scala中的map
分享一个scala初级教程给大家!转载 2017-06-26 09:05:14 · 699 阅读 · 0 评论 -
scala中的隐式类型转换
写一个类测试一下Scala中的隐式转换的用法:class Fraction(n: Int, d: Int) {// def den = d private val den = d;// def num = n 类参数定义为方法或字段都可以 private val num = n;// 定义乘法 def *(other: Fraction) = Fraction(ot原创 2017-11-13 22:20:40 · 606 阅读 · 0 评论 -
scala主构造器的多种玩法
scala主构造器的相关知识class Person { // 这里没有加private 默认为公有 var age = 0 @BeanProperty var name: String = _}class Person2 {// 只会生成getter方法 @BeanProperty val name = "name"; private var priag原创 2017-10-14 11:09:54 · 809 阅读 · 0 评论 -
用scala Map写个词频统计
1.使用可变map实现单词统计// 这里要注意文件编码问题如果有中文要用UTF-8保存,最好文件统一使用utf-8保存 val in = Source.fromFile("g:/a/1.txt") // 获取所有行 val initer = in.getLines() import collection.mutable val m3 = mutable.M原创 2017-08-30 17:28:55 · 2044 阅读 · 0 评论 -
Scala Map详解
Scala中Map继承自Iterator特质,是一组(K,V)对偶。其子类SortedMap按照Key排序访问其中的实体。1.可变map和不可变mapscala同时支持可变和不可变map。不可变map从不改变,因此你可以线程安全的共享其引用,在多线程的应用程序中也没问题。举例来说,既有scala.collection.mutalbe.Map,也有scala.collection.immutalbe.原创 2017-08-30 11:37:29 · 6540 阅读 · 0 评论 -
scala高级类型
1.单例类型 给定任何引用v,你可以得到类型v.type,他有两个可能值:V和Null。用法看一个返回this的例子。class Document{ def setAuthor(author:String) = this def setTitle(title:String) = this}class Book extends Document { def addChapt原创 2017-08-29 19:58:41 · 237 阅读 · 0 评论 -
scala中的泛型
1.泛型类 Scala中的泛型类使用[T]来定义,如:class Pair[T, S](val first: T, val second: S)object Pair { def apply[T, S](f: T, s: S) = new Pair(f, s)}在实例化的时候,会根据参数来推断类型 val pair1 = new Pair(42, "String") //Pai原创 2017-08-29 16:18:34 · 629 阅读 · 0 评论 -
scala中的match详解
Scala中提供了比java,c更加强大的switch语句——match,而且不用担心因为忘记写break语句而发生case穿透 1.更好的switch 与if,类似match也是表达式,如下一个用于匹配字符的函数def charMatch(c: Char) = c match { case '+' => 1 case '-' => -1原创 2017-08-29 09:46:21 · 24299 阅读 · 0 评论 -
scala中的reduceLeft,reduceRight,foldLeft,foldRight方法
scala中集合类iterator特质的化简 reduce和折叠fold方法原创 2017-08-28 16:15:55 · 5831 阅读 · 2 评论 -
scala 的apply,update,unapply方法
Scala允许函数调用语法 f(arg1, arg2,…) ⇒ f.apply(arg1, arg2,…) f(arg1, arg2,…) = value ⇒ f.update(arg1, arg2,…) = value 例如:val scores = new scala.collection.mutable.HashMap[String,Int]socres("bob") = 100/原创 2017-08-28 10:08:23 · 538 阅读 · 0 评论 -
scala中的对偶转换类型函数
scala中的对偶(Int,Int)和两个Int的类型的参数非常相似// 使用拉链创造对偶 val p = (1 to 10) zip (11 to 20)// 这两个函数是不同的,这个是用两个Int,Int做的参数 def adjustToPair(f:(Int,Int) => Int)(pair:(Int,Int)) = { f(pair._1,pair._原创 2017-08-27 22:28:05 · 750 阅读 · 0 评论 -
scala 类和对象
原文scala类和对象Scala 类和对象类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。我们可以使用 new 关键字来创建类的对象,实例如下:class Point(xc: Int, yc: Int) { var x: Int = xc转载 2017-06-26 09:22:29 · 401 阅读 · 0 评论 -
scala中一个高阶函数的N种调用方法
// (参数类型) => 结果类型 //定义接受一个函数参数的函数 def valueAtOneQuarter(f: (Double) => Double) = f(0.25) // 函数传参的完整写法 valueAtOneQuarter { (x: Double) => 3 * x } // scala类型推断写法 valueAtOneQua原创 2017-08-27 18:47:10 · 1391 阅读 · 0 评论 -
scala的主辅构造器
scala的主构造器(primary constructor)和辅助构造器(auxiliary constructor) 1.辅助构造器的名称为this 2.每个辅助构造器都必须直接或间接以主构造开始—-辅助构造器class Person { private var name = "" private var age = 0// 一个辅助构造 de原创 2017-08-26 22:36:06 · 711 阅读 · 0 评论 -
scala 的密封类
在使用case 类来做模式匹配时,你可能想让编译器帮你确保已经列出了所有可能的选择。那么通常就要将通用超类声明为sealed:sealed abstract class Amount case class Dollar(value:Double) extends Amountcase class Rnb(value:Double) extends Amountcase class Currency(原创 2017-11-13 22:47:15 · 767 阅读 · 1 评论