
scala学习
此分类下专门存放scala的相关用法的文章
Roger.Que
不擅交际不擅言辞,思想被编程左右。生活就是java/大数据/AI/数学。
展开
-
scala函数式编程思想实现二叉树左右子树交换
package main.scala.demo.option.functionalform/** * 用函数式的编程方式实现二叉树的左右子树交换 * 与命令式编程的思想相比不同的是:函数式式编程不会改变原来的树结构,而是返回一棵新的树结构。 * 1 * / \ * 2 3 * / \...原创 2019-11-28 14:35:30 · 146 阅读 · 0 评论 -
Scala命令式编程思想实现二叉树左右子树交换
package main.scala.demo.option.imperativeform/** * 用命令式的编程方式实现二叉树的左右子树交换 * 与函数式编程的思想相比不同的是:命令式编程允许原来的变量内容被改变,在本例子中即原来的树结构被改变。 * 1 * / \ * 2 3 * / \ ...原创 2019-11-28 12:25:03 · 139 阅读 · 0 评论 -
scala正则表达式
代码如下:package demo.regeximport scala.util.matching.Regexobject RegexDemo { val findAll = (pattern: Regex, str: String) => { println((pattern findAllIn str).mkString(",")) }...原创 2019-11-25 17:01:14 · 109 阅读 · 0 评论 -
Scala函数应用3
代码如下:package demo.procandfuncobject ProcFuncDemo { def addInt(a: Int, b: Int): Int = { var sum: Int = 0 sum = a + b return sum } var factor = 3 val multiplier = (i:...原创 2019-11-25 16:48:40 · 88 阅读 · 0 评论 -
Scala函数应用2
代码如下:package demo.procandfunc/** * 高阶函数 * 接受其他函数作为参数的函数称为高阶函数 * 可以直接将某个函数作为参数传入其他函数 * 将函数作为返回值 */object FuncDemo3 { val say = (name: String) => println("hello " + name)...原创 2019-11-25 16:38:04 · 102 阅读 · 0 评论 -
scala函数应用1
代码如下:package demo.procandfunc/** * scala 中函数可以独立存在,不需要依赖任何类和对象 * 将函数赋值给变量 * 使用def定义方法和函数 * 函数,方法的区别是出现的位置不同,在类里面是方法 ,在类外是函数 */object FuncDemo2 { def say(name:String): Unit =...原创 2019-11-25 16:16:18 · 100 阅读 · 0 评论 -
Scala match的使用
代码如下:package demo.matchtestobject MatchDemo { def matchTest(x:Int):String=x match { case 1 => "one" case 2 => "two" case _ => "many" } case class Person(name:...原创 2019-11-25 16:10:14 · 160 阅读 · 0 评论 -
Scala Map和Flatmap的用法
代码如下:package demo.map_and_flatmapobject MapAndFlatMapDemo { def main(args: Array[String]): Unit = { /**--------map对传入的每一个元素进行映射,返回一个处理后的结果(begin)-----------------**/ //完整版 val arr1 = A...原创 2019-11-25 16:05:13 · 519 阅读 · 0 评论 -
Scala map的应用例子
scala map的应用例子:package demo.mapobject MapDemo { def concat(map1:Map[String, String], map2:Map[String, String]): Unit = { // use two or more Maps with ++ as operator var colors = ma...原创 2019-11-25 00:28:29 · 132 阅读 · 0 评论 -
Scala List.reduceLeft用法例子
Scala List.reduceLeft用法例子:package demo.listobject Others1 { def main(args: Array[String]): Unit = { /* reduceLeft:从左侧元素开始,进行reduce操作, 及先对元素1和元素2进行处理,将结果与元素3进行处理,以此类推, 即为r...原创 2019-11-22 19:15:47 · 416 阅读 · 0 评论 -
scala抽象类的应用例子
scala抽象类的应用例子:package demo.learn.Chapter02/** * 定义一个抽象类,其中有一个变量和2个方法声明 */abstract class MyWriter { var message: String = "null" def setMessage(message: String):Unit def printMe...原创 2019-11-22 17:06:34 · 264 阅读 · 0 评论 -
scala forif的例子
scala forif的例子package demo.forifobject ForIfDemo { /** * 将Vector中的大于5的偶数添加到新的Vector中并返回。 * @param v * @return */ def evenGT5(v:Vector[Int]):Vector[Int] = { var re...原创 2019-11-22 16:28:42 · 134 阅读 · 1 评论 -
scala写文本文件的例子
scala写文本文件的例子:package demo.fileoperimport java.io.{File, PrintWriter}/** * 写文件的例子 */object FileWriterDemo { def main(args: Array[String]): Unit = { val writer = new PrintWri...原创 2019-11-22 16:11:44 · 212 阅读 · 0 评论 -
scala读取文本文件的内容的例子
scala读取文本文件的内容的例子:package demo.fileoperimport scala.io.Sourceobject FileReaderDemo { def main(args: Array[String]): Unit = { val filePath = "D:\\idea_workspace\\scala-examples\\Demo...原创 2019-11-22 16:09:13 · 850 阅读 · 0 评论 -
scala的try catch finally应用例子
scala的try catch finally应用例子,代码如下:package demo.exceptiontestimport java.io.{FileNotFoundException, FileReader, IOException}object ExceptionDemo { def main(args: Array[String]) { try ...原创 2019-11-22 16:03:26 · 378 阅读 · 0 评论 -
scala 控制台输入的例子
scala 控制台输入的例子,代码如下:package demo.consoleobject ConsoleInputDemo { def main(args: Array[String]): Unit = { print("请输入字符串:") val line = Console.readLine() println("谢谢,刚才你输入的是:" ...原创 2019-11-22 15:57:26 · 1870 阅读 · 0 评论 -
scala类的继承的例子
scala类继承的例子,代码如下:package demo.classtestclass Point( xc:Int, yc:Int) { var x:Int=xc var y:Int=yc def move(dx:Int, dy:Int): Unit = { x = x + dx y = y + dy println("Poin...原创 2019-11-22 15:48:06 · 250 阅读 · 0 评论 -
scala隐式参数的应用
scala在定义方法时可以定义隐式参数,同时再给隐式参数设定默认值。在调用此方法时可以不需要传入隐式参数的实参,然而隐式参数依然会起作用。这看上去调用方法变得很简洁。隐式参数的应用涉及3个步骤:1、在方法的定义中的参数前要有implicit关键词,并且函数的定义方式是柯里化的。2、在另一个object中定义隐式参数的默认值。其实简单点的话也可以直接在方法定义隐式参数后面直接赋默认值而不...原创 2019-11-22 12:29:18 · 200 阅读 · 0 评论 -
scala隐式转换应用3--参数类型的转换
以下这个小例子讲述的是scala中如何通过自定义隐式方法来转换参数类型。代码如下:package main.scala.demo.classtestobject ImplicitClassDemo3 { //定义一个隐式转换的方法,能够把double类型转换成为int类型 implicit def double2Int(a: Double) = { println("invok...原创 2019-11-22 11:32:12 · 119 阅读 · 0 评论 -
scala隐式类应用2
scala隐式类应用的第二个例子,代码如下:package demo.classtestobject ImplicitClassDemo2 { /** * 定义隐式类。 * 隐式类在使用的过程中无需显示创建类的对象就能使用其中的方法。 * 在这个例子中可以找到隐式类的使用方式:在隐式类定义中有入参和对应的类型,在类体中有方法名为times,方法...原创 2019-11-21 16:35:57 · 126 阅读 · 0 评论 -
scala隐式类应用1
以下是scala隐式类的一个应用例子,代码如下:package demo.classtestobject ImplicitClassDemo { case class Rectangle(width1:Int, height1:Int) { var x = width1 var y = height1 def calcArea(): Int = { re...原创 2019-11-21 16:25:20 · 142 阅读 · 0 评论 -
scala数组的例子
代码内容:package demo.arrayimport Array._object ArrayDemo { val method1 = () =>{ var myMatrix = ofDim[Int](3,3) //build a matrix for (i <- 0 to 2) { for (j <- 0 to 2) {...原创 2019-11-21 10:20:33 · 157 阅读 · 0 评论