【大数据】Scala
文章平均质量分 92
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言 、并集成面向对象编程和函数式编程的各种特性。
老王的小知识
爱分享的老王
展开
-
Scala练习题
目录题目第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题第十一题第十二题第十三题第十四题第十五题第十六题第十七题第十八题第十九题第二十题第二十一题第二十二题第二十三题第二十四题题目1、创建一个demo1的单例,在demo1中创建一个样例类名字为student1,成员变量为name:String, age:Int创建主方法实例化student,并传参数(“xiaoming”,20)...原创 2020-04-05 23:03:05 · 3811 阅读 · 0 评论 -
Scala学习第一天(十五):函数式编程(foreach遍历/map映射/flatMap扁平化映射/filter过滤/sort排序/groupBy分组/reduce聚合/fold折叠)
学习目标遍历(foreach)使用类型推断简化函数定义使用下划线来简化函数定义映射(map)扁平化映射(flatMap)过滤(filter)排序(sort)默认排序 | sorted指定字段排序 | sortBy自定义排序 | sortWith分组(groupBy)聚合(reduce/fold)聚合 | reduce折叠 | fold遍历(foreach)格式foreach(f: (A) ⇒...原创 2020-02-19 01:50:52 · 1805 阅读 · 0 评论 -
Scala学习第一天(十四):iterator迭代器
学习目标iterator迭代器使用迭代器遍历集合示例一参考代码结果示例二参考代码结果iterator迭代器scala针对每一类集合都提供了一个迭代器(iterator)用来迭代访问集合使用迭代器遍历集合使用iterator方法可以从集合获取一个迭代器迭代器的两个基本操作 hasNext——查询容器中是否有下一个元素 next——返回迭代器的下一个元素,如果没有,抛出NoSuchEl...原创 2020-02-12 23:00:36 · 1425 阅读 · 0 评论 -
Scala学习第一天(十三):映射(可变/不可变Map;Map基本操作)
学习目标映射不可变Map语法示例参考代码结果可变Map语法示例参考代码结果Map基本操作示例参考代码映射Map可以称之为映射。它是由键值对组成的集合。在Scala中,Map也分为: 不可变Map 可变Map不可变Map语法val/var map = Map(键->值, 键->值, 键->值...) // 推荐,可读性更好val/var map = Map(...原创 2020-02-12 22:42:56 · 4796 阅读 · 1 评论 -
Scala学习第一天(十二):集(不可变集;可变集)
学习目标Set概念不可变集语法示例一参考代码结果示例二参考代码结果基本操作示例参考代码结果可变集定义示例参考代码结果Set概念Set(集)是代表没有重复元素的集合。Set具备以下性质: 元素不重复 不保证插入顺序scala中的集也分为两种: 一种是不可变集 另一种是可变集不可变集语法创建一个空的不可变集,语法格式:val/var 变量名 = Set[类型]()给定元素...原创 2020-02-12 20:04:34 · 2073 阅读 · 0 评论 -
Scala学习第一天(十一):列表(不可变/可变列表;列表的常用操作)
学习目标列表概念不可变列表定义语法注意示例一参考代码结果示例二参考代码结果示例三参考代码结果可变列表概念注意定义示例一参考代码结果示例二参考代码结果可变列表操作示例参考代码结果列表常用操作判断列表是否为空示例参考代码结果拼接两个列表示例参考代码结果获取列表的首个元素和剩余部分示例参考代码结果反转列表示例参考代码结果获取列表前缀和后缀示例参考代码结果扁平化(压平)概念示例参考代码结果拉链与拉开概念示...原创 2020-02-12 19:48:20 · 2413 阅读 · 0 评论 -
Scala学习第一天(十):数组(定长/变长/遍历数组;数组常用操作;元组)
学习目标数组定义定长数组定义语法注意示例一参考代码结果示例二参考代码结果变长数组概念定义语法示例一参考代码结果示例二参考代码结果添加/修改/删除元素示例参考代码遍历数组两种方式遍历示例一参考代码结果示例二参考代码结果注意数组的常用操作常用算法求和示例参考代码结果求最大值示例参考代码结果求最小值示例参考代码结果排序示例参考代码结果元组概念定义元组语法示例一参考代码结果示例二参考代码结果访问元组示例参...原创 2020-02-12 18:54:37 · 3334 阅读 · 0 评论 -
Scala学习第一天(九):函数
学习目标函数 定义函数 方法和函数的区别 方法转换为函数函数scala支持函数式编程,将来在Spark/Flink程序中,会大量使用到函数定义函数语法val 函数变量名 = (参数名:参数类型,参数名:参数类型......) => 函数体注函数是一个对象(变量)类似于方法,函数也要输入参数和返回值函数定义不需要使用 def 定义无需指定返回值类型示例1...原创 2020-02-12 17:42:46 · 2237 阅读 · 0 评论 -
Scala学习第一天(八):三、方法调用方式
学习目标后缀调用法中缀调用法花括号调用法无括号调用法在后续编写Spark,Flink程序时,会使用到这些方法调用方式后缀调用法语法这种方法与Java没有区别对象名.方法名(参数)示例使用后缀法 Math.abs 求绝对值参考代码 scala> Math.abs(-1) res0: Int = 1结果中缀调用法语法对象名 方法名 参数例如:1 t...原创 2020-02-12 17:24:28 · 2144 阅读 · 0 评论 -
Scala学习第一天(八):二、方法参数
学习目标默认参数带名参数变长参数默认参数定义在定义方法时可以给参数定义一个默认值示例1.定义一个计算两个值相加的方法,这两个值默认为02.调用该方法,不传任何参数参考代码//x, y带有默认值为0def add(x:Int = 0, y:Int = 0) = x + yadd()结果带名参数定义在调用方法时,可以指定参数的名称来进行调用示例1.定...原创 2020-02-12 17:07:14 · 2045 阅读 · 0 评论 -
Scala学习第一天(八):一、方法
学习目标方法 定义方法 返回值类型推断定义方法语法def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = {// 方法体:一系列的代码}注参数列表的参数类型不能省略返回值类型可以省略,有scala编译器自动推断返回值可以不写return,默认就是{}块表达式的值示例1.定义一个方法,实现两个整形数值相加,返回相加...原创 2020-02-09 19:59:22 · 2165 阅读 · 0 评论 -
Scala学习第一天(七):二、Break和Continue
学习目标break和continue 实现break 实现continueBreak和Continue在scala中,类似Java和C++的break/continue关键字被移除了如果一定要使用break/continue,就需要使用scala.util.control 包的Break类的breable和break方法实现break用法导入Breaks包:import s...原创 2020-02-09 19:49:08 · 2043 阅读 · 0 评论 -
Scala学习第一天(七):一、循环
学习目标循环 for表达式 简单循环 嵌套循环 守卫 for推导式 while循环for表达式语法for(i <- 表达式/数组/集合) {// 表达式}简单循环使用for表达式打印1-10的数字步骤1.生成1-10的数字(提示:使用to方法)2.使用for表达式遍历,打印每个数字参考代码1scala> val nums = 1.t...原创 2020-02-09 19:31:20 · 2413 阅读 · 0 评论 -
Scala学习第一天(七):条件表达式
学习目标条件表达式 有返回值的if 块表达式条件表达式条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结构(真或假)决定执行对应的操作。scala条件表达式的语法和Java一样有返回值的if与Java不一样的是:在scala中,条件表达式也是有返回值的在scala中,没有三元表达式,可以使用if表达式替代三元表达式示例定义一个变量sex,...原创 2020-02-09 19:05:56 · 2215 阅读 · 0 评论 -
Scala学习第一天(六):数据类型
学习目标数据类型与操作符 数据类型 运算符 scala类型层次结构数据类型与操作符scala中的两类型以及操作符绝大多数和java一样,主要学习以下 与Java不一样的一些用法 scala类型的集成体系数据类型基础类型类型说明Byte8位带符号整数Short16位带符号整数Int32位带符号整数Long64位带符号整数Ch...原创 2020-02-09 18:56:27 · 2075 阅读 · 0 评论 -
Scala学习第一天(五):字符串
学习目标scala提供多种定义字符串的方式 使用双引号 使用插值表达式 使用三引号使用双引号语法val/var 变量名 = "字符串"示例有一个人的名字叫"hadoop",请打印他的名字以及名字的长度参考代码scala>println(name+name.length)hadoop6使用插值表达式scala中,可以使用插值表达式来定义字符串,有效避免大量...原创 2020-02-09 18:26:24 · 2252 阅读 · 0 评论 -
Scala学习第一天(四):变量
学习目标语法格式在解释器中定义一个变量val和var变量使用类型推断来定义变量惰性赋值语法格式Java变量定义int a = 0;在scala中,可以使用val或者var来定义变量,语法格式如下:val/var 变量标识:变量类型 = 初始值其中 val定义的是不可重新赋值的变量 var定义的是可重新赋值的变量注:scala中定义变量类型写在变量名后面sca...原创 2020-02-09 18:11:09 · 2206 阅读 · 0 评论 -
Scala学习第一天(三):Scala解释器
学习目标启动scala解释器执行scala代码退出解释器scala解释器我们会使用scala解释器来学习scala基本语法,scala解释器像Linux命令一样,执行一条代码,马上就可以让我们看到执行结果,用来测试比较方便。启动Scala解释器1.win+R键 打开运行对话框2.输入scala即可执行scala代码在scala的命令提示窗口中输入`println("...原创 2020-02-09 17:45:03 · 2111 阅读 · 0 评论 -
Scala学习第一天(二):开发环境安装
学习目标安装JDK安装Scala SDK安装IDEA Scala插件开发环境安装学习如何编写scala代码之前,需要先安装scala编译器以及开发工具Java程序编译执行流程Scala程序编译执行流程scala程序运行需要依赖于Java类库,必须要有Java运行环境,scala才能正确执行根据上述流程图,要编译运行scala程序,需要jdk(jvm)scala编译...原创 2020-02-09 17:32:18 · 2098 阅读 · 0 评论 -
Scala学习第一天(一):Scala简介
Scala简介scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的**表达性**。为什么要使用scala? 开发大数据应用程序(Spark程序、Flink程序) 表达能力强,一行代码抵...原创 2020-02-09 16:57:04 · 2284 阅读 · 0 评论