Scala
scala
说文科技
同名公众号【说文科技】,做有态度的研究。
展开
-
IntellijIDEA运行Scala程序
IntellijIDEA运行Scala程序注意事项 1) 创建的类型【Create New Scala Class】有三种,分别是class,object,Trait。选择的类型要与后面的代码相同。才可执行。2)使用如下代码: object HelloScala { def main(args:Array[String]):Unit={ println("Hello Scal...原创 2018-02-14 09:39:54 · 3171 阅读 · 0 评论 -
Scala实现List数组加法
Scala实现List数组加法1.代码如下:scala> arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))scala> arr1 = arr.flattenscala> arr.aggregate(10)((x,y)=>x+y.sum,(m,n)=>m+n)scala> arr1....原创 2018-04-04 21:09:17 · 7313 阅读 · 0 评论 -
Scala中的集合
Scala中的集合一.Scala中的List1.::方法 def ::(x: A): List[A]在列表开头添加元素示例代码:scala> val list = List(1,2,3,4,5)list: List[Int] = List(1, 2, 3, 4, 5)scala> list.::(6)res0: List[Int] = List(6, ...原创 2018-04-12 11:02:48 · 301 阅读 · 0 评论 -
Scala基本方法使用
Scala基本方法使用1.代码如下:import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.storage.StorageLevelimport scala.collection.JavaConverters._object...原创 2018-04-19 19:01:25 · 859 阅读 · 0 评论 -
scala中的split方法
scala中的split方法1.对split方法的细节观察scala> val s = "eggs, milk, butter, Coco Puffs"s: String = eggs, milk, butter, Coco Puffsscala> s.split(",")res9: Array[String] = Array(eggs, " milk", " butt...原创 2018-05-03 19:21:56 · 11858 阅读 · 0 评论 -
《Scala cookbook》中的阅读环境搭建
《Scala cookbook》中的阅读环境搭建1.需要使用到sbt等工具,然后直接对文件夹进行操作【windows环境】:C:\Users\enmonster>f: //切换到F盘F:\>cd scala //step1 :切换到scala工程的根目录F:\scala>...原创 2018-05-03 19:28:18 · 431 阅读 · 0 评论 -
《Scala cookBook》Chapter 9
《Scala cookBook》Chapter 91.定义函数://常见错误1:定义函数时,只出现了参数类型:(Int,Int),而没有出现具体的参数名scala> def sum(Int,Int):Int={x+y}<console>:1: error: ':' expected but ',' found.def sum(Int,Int):Int={x+y}...原创 2018-05-16 23:00:08 · 382 阅读 · 0 评论 -
使用Scala生成随机数
一.使用Scala生成随机数1.简单版本:/*1.you can use scala.util.Random.nextInt(10) to produce a number between 1 and 102.at the same time,you nextInt(100) to produce a number between 1 and 100*/object Test {...原创 2018-04-26 22:24:22 · 30113 阅读 · 4 评论 -
Scala实现冒泡排序
/*1.From small to large ->Ascending order */package LittleLawsonobject BubbleSort{ def main(args: Array[String]): Unit = { var disorderData = Array(7,3,5,2,9,4) println("diorderData....原创 2018-04-27 14:45:19 · 3985 阅读 · 0 评论 -
Scala中的aggregateByKey()函数
一.Scala中的aggregateByKey()函数1.先看源码:/** * Aggregate the values of each key, using given combine functions and a neutral "zero value". * This function can return a different result type, U, t...原创 2018-04-28 09:46:51 · 3397 阅读 · 0 评论 -
《scala cookBook》Chapter1
《scala cookBook》Chapter1C:\Users\enmonster>f: //进入cmd,进入盘fF:\>cd scalaF:\scala>cd prog-scala-2nd-ed-code-examples//依次进入到所需目录F:\scala\prog-scala-2nd-ed-code-examples>sbt//执行sbt命令Ja...原创 2018-05-06 21:45:00 · 555 阅读 · 0 评论 -
《scala cookBook》Chapter2
《scala cookBook》Chapter2C:\Users\enmonster>scalaWelcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_161).Type in expressions for evaluation. Or try :help.scala> Short.Mi...原创 2018-05-06 22:30:01 · 450 阅读 · 0 评论 -
scala中的特质
scala中的特质1.特质中定义的方法可以实现,【有了大括号的就是已经实现过的方法,例如下面Animal中的listen和run】;也可以不实现【例如Animal类中的speak方法】示例代码如下:package cookBook.chapter8trait Animal{ //没有实现 def speak def listen: Unit ={ } ...原创 2018-05-23 21:40:43 · 2064 阅读 · 0 评论 -
Scala中的mkString
Scala中的mkString1.mkString()方法的使用:mkString(seq:String)方法是将原字符串使用特定的字符串seq分割。mkString(statrt:String,seq:String,end:String)方法是将原字符串使用特定的字符串seq分割的同时,在原字符串之前添加字符串start,在其后添加字符串end。object Test { ...原创 2018-05-23 22:26:54 · 16968 阅读 · 0 评论 -
《Scala CookBook》Chapter11
《Scala CookBook》Chapter11List 2.1scala的List类是不可变的,大小及其中元素都不能修改。由链表实现,包含常用的head,tail,isEmpty方法。大多数在List上的操作都会涉及递归算法,将列表且分为头部和尾部。 现在有一个需求:如果一个链表的顺序是5,4,3,2,1。那么怎么才能不改变链表的情况下逆序打印出1,2,3,4,5. 答:可以使用递归...原创 2018-05-24 14:26:28 · 388 阅读 · 0 评论 -
Scala
ScalaMicrosoft Windows [版本 10.0.16299.431](c) 2017 Microsoft Corporation。保留所有权利。C:\Users\enmonster>scalaWelcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_77).Type in exp...原创 2018-07-02 21:57:44 · 712 阅读 · 0 评论 -
Intellij新建Scala项目
Intellij新建Scala项目1.强烈建议使用maven构建!!! 2.其次一定要注意各个版本之间的兼容。存在Scala和spark,kafka等不兼容的情况,所以在无法导入包的时候,尝试更换依赖的版本。 3.下面提供一个完整的pom.xml文件。----------------------20180426--------------------------【待补充】...原创 2018-04-04 19:22:05 · 429 阅读 · 0 评论 -
Scala中的map()和flatMap()
scala> val arr = Array("My name is LittleLawson","She is Liutt")arr: Array[String] = Array(My name is LittleLawson, She is Liutt)scala> val result1 = arr.flatMap(_.split(","))result1: Array[...原创 2018-04-10 09:45:50 · 1804 阅读 · 0 评论 -
Scala中读取文件
Scala 中读取文件1.本Scala语句直接在Spark-shell中编写,所以不用初始化SparkContext变量。 2.案例需求: 求出某文件中包含error或者warning的行 3.代码如下: /* 1.以下程序在scala中即可运行 2.因为spark-shell在初始化的时候,已经自定义了一个sc */ val inputRDD ...原创 2018-04-10 08:49:57 · 1721 阅读 · 0 评论 -
Scala之函数简介
Scala之函数简介1.内嵌函数: - 1)在函数内部再定义一个函数 - 2)实现阶乘函数,源码如下:object Test { def main(args: Array[String]) { println( factorial(1) );//直接对返回的值输出 println( factorial(2) ) println( factorial(3)...原创 2018-02-14 11:09:22 · 328 阅读 · 0 评论 -
Scala之for循环
Scala之for循环源码如下:object Test{ def main(args: Array[String]): Unit = { print("This is the first time to invoke printStrings"); printStrings("Scala"); println("------------------");...原创 2018-02-14 10:00:52 · 808 阅读 · 0 评论 -
Scala之数组
Scala之数组数组: 1) 2)源码如下:import Array._object Test{ def main(args:Array[String]): Unit ={ var z :Array[String] = new Array[String](2);//申请一个String型的数组变量 var x = new Array[String](2); ...原创 2018-02-14 12:47:15 · 371 阅读 · 0 评论 -
Scala退出shell窗口
Scala退出shell窗口使用命令:q原创 2018-02-23 16:11:58 · 7885 阅读 · 0 评论 -
Scala基础语法训练
Scala基础语法训练编写简单的HelloScala.scala程序/** * 1.同java中main方法一样,这里的args是一个参数,可以替换成任何其他的形参 * 2.使用def来定义方法 * 3.Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口的部分 */object HelloScala{//定义一个类 def mai...原创 2018-03-17 17:53:23 · 476 阅读 · 0 评论 -
Scala基本语法
Scala基本语法object表示对象,因为Scala中没有静态对象这一说,但是要实现单例模式该怎么办呢?这时就可以使用object关键字。如果要对某个类实现单例模式,我们可以使用object 再定义一个同class 类名相同的对象。它和class定义的类的区别在于,object定义的对象不允许有参数。 当单例对象与某个类共享同一个名称时,他被称作是这个类的伴生对象。你必须在同一个源文件里...原创 2018-03-17 18:57:46 · 347 阅读 · 0 评论 -
Scala之Shell语言
Scala如何从shell窗口退出? 使用命令::q即可我们可以使用命令::help来查看Scala的命令行使用简介:scala> :helpAll commands can be abbreviated, e.g., :he instead of :help.:edit <id>|<line> edit history:help [c...原创 2018-03-17 18:59:49 · 1098 阅读 · 2 评论 -
Window下安装Scala出现:此时不应有 \scala\bin\..\lib\jline-2.14.5.jar
原因很简单,scala默认安装到了Program Files (x86)文件夹下。目录中有空格,空格就是导致这个问题的根本原因。把文件安装到没有空格的目录就好了。原创 2018-03-17 19:30:17 · 5386 阅读 · 2 评论 -
Scala返回语句
object Test{ def main(args : Array[String]): Unit ={ val number = 10 var m = { if(number < 10) "m is less than ten" else return "m is more than or equal ten...原创 2018-03-18 09:06:31 · 1119 阅读 · 0 评论 -
Scala中的for循环
object Test{ def main(args : Array[String]): Unit ={ val str : String = "hello 123" for(c <- str) println(c) }}原创 2018-03-18 09:30:47 · 400 阅读 · 0 评论 -
scala中函数和方法的区别
Scala中函数和方法的区别方法的定义代码如下: def sayHello(){ println("Hello") }上述代码定义了一个sayHello()方法,没有参数,也没有返回值。 下面来定义一个有参数,有返回值的方法。如下代码如下def addInt(x:Int,y:Int) : Int={ retrun x+y} 建...原创 2018-03-18 10:32:09 · 2392 阅读 · 0 评论 -
Scala之map操作
object Test{ def main(args : Array[String]): Unit ={ System.out.println("Print the operation in for circulation of String-------") val str : String = "he llo" for(c <- str) pri...原创 2018-03-18 10:56:31 · 3145 阅读 · 0 评论 -
Scala实现WordCount
Scala实现wordCount功能——单机版1.细节语法如下:map是操作 是把数组/集合中的每一条拿出来进行操作,究竟如何操作,关键在于map中的参数(参数是函数)reduce -> 调用 reduceLeft 是从左往右加fold(初始值)(自定义的函数) -> 调用2.代码如下:object Test{ def main( args:Arr...原创 2018-03-18 14:32:09 · 707 阅读 · 0 评论 -
Scala学习笔记
Scala学习笔记一.Scala中集合的常用方法首先定义两个数组集合,用于测试:scala> val arr1 = Array(1,2,3,4)arr1: Array[Int] = Array(1, 2, 3, 4)scala> val arr2 = Array(3,4,5,6)arr2: Array[Int] = Array(3, 4, 5, 6)1.unio...原创 2018-04-08 11:12:33 · 430 阅读 · 0 评论 -
Scala中的隐式类型转换
Scala中的隐式类型转换1.什么是隐式类型转换? 2.隐式类型转换的例子? 3.隐式类型转换的利和弊? 明天任务,敬请期待。原创 2018-04-09 16:08:46 · 395 阅读 · 0 评论 -
scala [待整理]
Microsoft Windows [版本 10.0.16299.431](c) 2017 Microsoft Corporation。保留所有权利。C:\Users\enmonster>scalaWelcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_77).Type in expression...原创 2018-07-13 14:15:20 · 911 阅读 · 0 评论