![](https://img-blog.csdnimg.cn/20200722165210689.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
三.Scala核心技术
Scala是一门多范式的编程语言,一种类似java的编程语言 设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。
SuperBigData~
大数据行业热爱者,欢迎交流学习,共同进步
展开
-
scala代码用java命令执行
scala代码用java命令执行。原创 2023-09-26 20:46:58 · 473 阅读 · 0 评论 -
cmd下scala退出命令
cmd下scala退出命令。原创 2023-09-26 20:12:59 · 552 阅读 · 0 评论 -
利用Akka实现WordCount计数
美图欣赏:一.Akka实现WordCount计数import akka.actor.{Actor, ActorRef, ActorSystem, Props}import akka.util.Timeoutimport com.typesafe.config.ConfigFactoryimport scala.concurrent.Awaitimport scala.io.Sourc...原创 2020-03-10 22:52:33 · 343 阅读 · 0 评论 -
揭秘Akka
美图欣赏:一.Akka和Actor介绍Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃。Actor模型:在计算机科学领域,Actor模型是一个并行计算(Concurrent Co...原创 2020-03-10 19:09:21 · 238 阅读 · 0 评论 -
用Scala爬取网络上URL,写入本地文件
美图欣赏:一.背景之前用python爬取过网络上URL,写入本地文件今天用scala代码实现,发现更加简单二.代码实现爬取的URL,还是CSDN的,哈哈//scala 没有内建的对写入文件的支持,要写入文件,使用Java.io.PrintWriterimport java.io.PrintWriterimport scala.io.Sourceobject R...原创 2020-03-08 17:31:43 · 493 阅读 · 1 评论 -
如何解决scala读取本地文件失败
美图欣赏:一.代码操作import scala.io.Sourceobject ReadFlieDemo { def main(args: Array[String]): Unit = { val source = Source.fromFile("D:\\input\\student1.txt") //返回的是迭代器 val array = source....原创 2020-03-08 16:13:17 · 3605 阅读 · 1 评论 -
scala的单例对象
美图欣赏:一.单例对象在Scala中没有静态方法和静态字段,但是可以使用object这个语法结构来达到同样的目的1.scala类似于Java中的工具类,可以用来存放工具函数和常量2.高效共享单个不可变的实例3.单例模式单例对象虽然类似于Java中的工具类,但它不是,还是一个对象,可以把单例对象名看做一个贴在对象上的标签。二.单例对象的使用package day04im...原创 2020-03-07 14:54:42 · 627 阅读 · 0 评论 -
scala伴生对象
美图欣赏:一.背景基础不牢,地洞山摇。哈哈,来点干货补充能量二.伴生对象1.定义:在Scala的类中,与类名相同并且用object修饰的对象叫做伴生对象,类和伴生对象之间可以相互访问私有的方法和属性,他们必须存在同一个源文件中2.案例详解package day04/** * 类名和类文件名称可以不统一 * * 一个类文件里可以有多个类 * 声明一个类,不...原创 2020-03-06 17:44:03 · 484 阅读 · 0 评论 -
scala集合练习(源码解析)
一.背景二.集合实战原创 2020-03-05 23:46:03 · 1273 阅读 · 0 评论 -
scala中Set集合大全
美图欣赏:一.Set无序,不可重复。二.代码演示scala> val set1 = Set(1,2,3)set1: scala.collection.immutable.Set[Int] = Set(1, 2, 3)//操作符 + ,添加一个元素scala> set1 + 4res0: scala.collection.immutable.Set[Int]...原创 2020-03-04 19:15:13 · 1805 阅读 · 0 评论 -
scala中List列表大全
美图欣赏:一.List 框架图二.List列表集合三.不可变List四. 可变List原创 2020-03-04 16:44:19 · 1523 阅读 · 0 评论 -
scala中的zip拉链大全
美图欣赏:一.zip拉链二. zip扩展原创 2020-03-04 13:15:46 · 2990 阅读 · 2 评论 -
scala中Tuple元组大全
美图欣赏:一.背景元组在操作Spark中还是非常多的二.元组(Tuple)映射是K/V对偶的集合,对偶是元组的最简单形式,元组可以装着多个不同类型的值,是不同类型的值的聚集。三.代码举例 映射是K/V对偶的集合,对偶是元组的最简单形式,元组可以装着多个不同类型的值,是不同类型的值的聚集。scala> val tuple = (1, "Jackson" , ...原创 2020-03-03 19:21:37 · 1495 阅读 · 0 评论 -
scala中Map集合大全
美图欣赏:一.背景映射(map), 也是十分重要的。大好基础,才能一路打boss二.Map介绍在Scala中,把哈希表这种数据结构叫做映射。Scala中的Map存储的内容是键值对(key-value),Scala中不可变的Map是有序的,可变的Map是无序的。Scala中,有可变Map (scala.collection.mutable.Map) 和不可变Map(s...原创 2020-03-03 13:48:42 · 3678 阅读 · 0 评论 -
scala中Array数组大全
美图欣赏:一.背景数组里面有很多方法,需要多加练习二.数组例子scala> val arr = Array(1,2,3,4,5)arr: Array[Int] = Array(1, 2, 3, 4, 5)scala> val arr1 = new Array(1)arr1: Array[Nothing] = Array(null)scala> arr1...原创 2020-03-02 19:12:01 · 1318 阅读 · 0 评论 -
scala集合框架图
美图欣赏:一.scala集合所有的集合类都在包中发现scala.collection或它的子包中的一个mutable,immutable和generic在三个变种通过客户端代码存在所需的大多数集合类,分别位于包分别。scala.collection, scala.collection.immutable和scala.collection.mutable每个变体在可变性方面都有不...原创 2020-03-01 17:34:15 · 1023 阅读 · 0 评论 -
scala中的函数定义大全
美图欣赏:一.背景函数的定义可以有很多种,因此需要掌握最基本的定义方法二.定义函数大全给方法传递一个函数类型的参数函数可以看做是带有参数的表达式。一.函数的定义方式://第一种最常见的方式scala> val f2 = (a: Int, b: Int) => a + bf2: (Int, Int) => Int = <function2>...原创 2020-02-29 18:10:32 · 1402 阅读 · 0 评论 -
scala中你没见过的神操作 (定义函数)
美图欣赏:一.背景只有你想不到的,没有scala操作不了的二.scala中骚操作1.一般scala函数定义:scala> val c2 = (x : Int) => x *22 .但是你见过,下面这样的吗?第一种:scala> val f1: Int => Int = x => x * xf1: Int => Int = <fun...原创 2020-02-29 16:18:47 · 853 阅读 · 0 评论 -
scala的方法
美图欣赏:一.背景定义方法和函数(十分重要)二.定义方法def 方法名称(参数列表):返回值类型 = 方法体scala> def a1(x:Int , y:Int): Int={x * y}a1: (x: Int, y: Int)Int//也可以定义成//def add(x: Int, y: Int) = x + yscala> a1(4,6)res43: ...原创 2020-02-29 14:25:27 · 3604 阅读 · 0 评论 -
scala中break和continu 和 scala高级for循环
美图欣赏:一.背景Scala里面竟然没有break和continue关键字,其实不是这样的,Scala里面推荐使用函数式的风格解决break和continue的功能,而不是一个关键字。二.写个小Demo,来研究和测试下需要注意:首先需要导入一个包import util.control.Breaks._1.break() 案例object Test4 { def ...原创 2020-02-29 11:30:03 · 320 阅读 · 0 评论 -
Scala中方法名和字符串引用变量和+=操作符
美图欣赏:一.scala中的方法名// +是方法名 ,scala把操作符当成方法了,方法里面可以传参scala> 2.+(8)res5: Int = 10//运用了语法糖,增加易读性scala> 2+8res7: Int = 10二.scala字符串引用变量object Test2 { def main(args: Array[String]): Unit...原创 2020-02-28 22:58:55 · 2192 阅读 · 0 评论 -
scala中多变量定义方式和数据类型
美图欣赏:一.背景scala特别灵活,所以多见见定义方式,见多不怪嘛,哈哈//这是java的定义方式,可以作为对比//Java中支持一行同时定义多个同类变量: String a = "Hello", c = "hello"; int x = 5, y = 5; 二.多变量定义例子可以用分号, 也可以用类似元组,更可以同时赋值//1.scala中...原创 2020-02-28 17:46:31 · 1100 阅读 · 0 评论 -
val和var的区别
美图欣赏:一.背景学习过程中,会有很多小的并且容易混淆知识点,因此会把它记录下来。二.val(value)和var(variable)的区别基本语法:var|val 变量名 : 变量类型 = 变量值1.使用var或者val定义一个变量。使用var(variable)声明变量,可以被重新赋值,引用可以变。// 定义变量a2,手动指定类型为Int,此时需要保证所赋值类型匹配s...原创 2020-02-28 15:24:12 · 9268 阅读 · 1 评论 -
在Windows中如何编译并运行scala代码
美图欣赏:一.Windows下新建文本编写scala代码下图:红框就是一个scala文本代码helloword.scala代码:object helloworld{ def main(args: Array[String]): Unit = { println("hello scala") }}二.在当前目录进行cmd,进行编译与java类似,因为都是在ja...原创 2020-02-28 12:23:26 · 1684 阅读 · 0 评论 -
IDEA中如何离线添加scala插件
1.背景2.scala插件安装包3.离线添加到IDEA4.完成原创 2020-02-28 09:34:36 · 2044 阅读 · 0 评论 -
scala类型关系图
一美图欣赏:二.scala中所有的值都有类型,包括数值和函数.下面是自己画的一张图:Unit是值类型,他只有一个实例对象()。Nothing是所有类型的子类,他没有一个具体的实例对象,一个常见的应用如:抛出异常、程序exit,无限循环等。Nothing是所有类型的子类,也是Null的子类。Nothing没有对象,但是可以用来定义类型。例如,如果一个方法抛出异常,则异常的返回值类型...原创 2020-02-19 13:51:06 · 3896 阅读 · 0 评论 -
Scala隐式转换
一.隐式函数package day1230/** * Scala的高级特性 * 隐式转换 * */class Monkey(f:Fruit1) { def eat()={ println("猴子吃"+f.getName()) }}/** * 水果类 * */class Fruit1(name:String){ def getName():...原创 2019-12-30 18:37:20 · 140 阅读 · 0 评论 -
Scala泛型
一.增加功能跟Java类似,使用方括号定义类型[T]//Int类型类class ClassInt { private var count:Int=10 def get():Int={count} def set(value:Int):Unit={count=value} //String类型类 class ClassString { private var...原创 2019-12-30 16:53:36 · 177 阅读 · 0 评论 -
Scala样本类
样本类scala> class Student(id:Int){}defined class Studentscala> case class Student1(id:Int){}defined class Student1作用:支持模式匹配在spark SQL 创建schemapackage day1230/***author: Jackso...原创 2019-12-30 11:14:06 · 238 阅读 · 0 评论 -
Scala的特殊的类型总结
Scala的特殊的类型总结 Any 表示任何类型,相当于Java中的object Unit表示函数无返回值,相当于Java中void Option:Scala中的option代表值是可选(有值或无值) Some:如果有值,option就是some None:没有值,option就是 none Nothing:在scala中是...原创 2019-12-30 09:18:17 · 244 阅读 · 0 评论 -
Scala模式匹配
一.Scala的模式匹配Scala的模式匹配,比java的功能更加全面,应用比较广泛Scala中提供本类(case class),对模式匹配进行优化package day1228object Demo extends App { /** * 模式匹配 * */ //定义一个变量 val ch1 = "*" //标识符 如果ch1是+,sign=...原创 2019-12-28 22:45:24 · 3483 阅读 · 0 评论 -
发现Scala高阶函数小秘密(二)
一.zip集合合并(1,2,3)(4,5,6)==>((1,4),(2,5),(3,6))scala> var number=List(1,2,3,4)number: List[Int] = List(1, 2, 3, 4)//返回的是一个元组(Int, Int),里面是Int类型scala> number.zip(List(4,5,6))res0: Lis...原创 2019-12-28 17:41:57 · 3578 阅读 · 0 评论 -
发现高阶函数的小秘密(一)
一.Scala的语言的函数式编程Scala的中的函数:def 函数的名字(参数列表):返回值={函数题}```scala //实现word count 用spark//将文件读取出来sc.textFile("hdfs://bigdata111:9000/....")//按空格切分flatMap(_.split(" "))//map是一个函数,拼接map...原创 2019-12-24 11:19:02 · 183 阅读 · 0 评论 -
scala的集合框架与常用的方法
一.继承Scala的继承和java中的继承是一样,都是使用extends关键字在此,定义父类变量用val,子类变量也要用val (特此注意)如果父类和子类用var,则会报错:Error:(29, 24) overriding variable name in class Person of type String; variable name cannot override...原创 2019-12-23 20:32:55 · 328 阅读 · 0 评论 -
Scala语言的面向对像
1.面向对象的基本概念把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象 面向对象的三大特征:封装 继承 多态2. 类的定义简单类和无参方法:class Counter { private var value = 0//类 def increment(){value += 1}//无参方法 def current() = value} ...原创 2019-12-20 19:28:22 · 3444 阅读 · 0 评论 -
Scala函数的参数
一.Scala中,有两种函数参数的求值策略Call By Value:对函数实参求值,且仅求一次 Call By Name:函数实参每次在函数体内被调用到时会求值Call By Value:scala> def test(x:Int,y:Int):Int=x+xtest: (x: Int, y: Int)Intscala> test(9+8,19)res0: ...原创 2019-12-18 22:35:11 · 1018 阅读 · 0 评论 -
scala基本语法
一.Scala中的数据类型和变量常量1、注意:在Scala中,任何数据都是对象。和Java不同。举例: 在Java中 1 是基本数据类型。 cmd中 清屏快捷键:ctrl+l scala> 2. (Tab键查看方法)scala> 2.!= + << >= abs ...原创 2019-10-19 18:09:12 · 3929 阅读 · 0 评论 -
Scala语言简介 及 环境搭建
1.Scala语言简介1.Scala 是多范式的编程语言(支持多种方式的编程) (1)使用面向对象编程:封装、继承、多态 (2)使用函数式编程:最大的特点 (*)函数式编程优点:使得代码简洁 (*)函数式编程缺点: 可读性太差。sortBy(_>_) ...原创 2019-10-19 16:58:37 · 3513 阅读 · 0 评论