首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

01.Scala:开发环境搭建、变量、判断、循环、函数、集合

= "male") 1 else 0 result: Int = 1 7.2 块表达式 scala,使用{}表示一个块表达式 if表达式一样,块表达式也是有 就是最后一个表达式 问题 请问以下代码...数组 scala数组概念是Java类似,可以用数组来存放一组数据。...) scala> a.sum res49: Int = 10 11.5.2 最大 数组max方法,可以获取到数组最大那个元素 示例 定义一个数组,包含以下几个元素(4,1,2,4,10)...List具备以下性质: 可以保存重复 有先后顺序 在scala,也有两种列表,一种是不可变列表、另一种是可变列表 13.1 不可变列表 定义 不可变列表就是列表元素、长度都是不可变。...:5,6,7 删除元素7 将可变列表换为不可变列表 将可变列表换为数组 参考代码 // 导入不可变列表 scala> import scala.collection.mutable.ListBuffer

4.1K20

Scala语法笔记

,Java思想被颠覆) 过程,Scala对于不返回函数有特殊表示语法,如果函数体包含在花括号但没有前面的=号,那么返回类型就是Unit 或def box(s : String) : Unit...toString返回就无意义了 使用List 使用:: 把一个新元素组合到已有List最前端,然后返回结果List 使用元组Tuple: 与列表一样,元组也是不可变,但与列表不同,元组可以包含不同类型元素...一旦你已经实例化了一个元组,你可以用点号,下划线一个基于1元素索引访问它. 使用SetMap 创建,初始化使用可变集合 Map是Scala里另一种有用集合类。...例如,由于someNumbers在第115页被初始化为List(-11, -10, -5, 0, 5, 10),filter方法会把_ > 0里空格首先用-11替换,就如-11 > 0,然后用-10...直觉上,Scala闭包捕获了变量本身,而不是变量指向 重复参数 Scala允许你指明函数最后一个参数可以是重复。这可以允许客户向函数传入可变长度参数列表

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

scala快速入门系列【函数式编程】

scala可以自动来推断出来集合每个元素参数类型 创建函数时,可以省略其参数列表类型 示例 有一个列表,包含以下元素1,2,3,4,请使用foreach方法遍历打印每个元素 使用类型推断简化函数定义...如果方法参数是函数,如果出现了下划线scala编译器会自动将代码封装到一个函数 参数列表也是由scala编译器自动处理 ---- 映射|map 集合映射操作是将来在编写Spark/Flink...案例二 创建一个列表,包含元素1,2,3,4 使用下划线来定义函数,对List每一个元素加1 参考代码 ?...map是将列表元素转换为一个List flatten 再将整个列表进行扁平化 方法签名 ?...2.请按照性别进行分组,统计不同性别的学生人数 步骤 定义一个元组列表来保存学生姓名性别 按照性别进行分组 将分组后Map转换为列表:List((“男” -> 2), (“女” -> 1)) 参考代码

1.1K20

Spark2.x学习笔记:2、Scala简单例子

Scala 声明变量常量不一定要指明数据类型,在没有指明数据类型情况下,其数据类型是通过变量或常量初始推断出来。...Array转换为ArrayBuffer 2.8 List Scala 列表类似于数组,它们所有元素类型都相同,但是它们也有所不同:列表是不可变一旦被定义了就不能改变,其次列表 具有递归结构(...19),List(-19, -7, 0)) scala> 说明: 集合中使用下划线是最常用形式,下划线代表了集合“某(this)”一个元素。...2.9 元祖 与列表一样,元组也是不可变,但与列表不同,元组可以包含不同类型元素。而列表应该是List[Int]或List[String]样子,元组可以同时拥有IntString。...一旦你已经实例化了一个元组,你可以用点号,下划线一个基于1元素索引访问它。

3.1K80

Spark 系列教程(1)Word Count

spark-shell 在运行时候,依赖于 Java Scala 语言环境。因此,为了保证 spark-shell 成功启动,需要在本地预装 Java 与 Scala。...行元素转换为单词,分割之后,每个行元素就都变成了单词数组,元素类型也从 String 变成了 Array[String],像这样以元素为单位进行转换操作,统一称作“映射”。...使用 map 方法将 word 映射成 (word,1) 形式,所有的 value 都设置为 1,对于同一个单词,在后续计数运算,我们只要对 value 做累加即可。...对于 kvRDD 这个键值对“数组”,reduceByKey 先是按照 Key(也就是单词)来做分组,分组之后,每个单词都有一个与之对应 value 列表。...//取前 3 take(3) Scala 语言为了让函数字面量更加精简,还可以使用下划线 _ 作为占位符,用来表示一个或多个参数。我们用来表示参数必须满足只在函数字面量中出现一次。

1.3K20

Scala基础 - 下划线使用指南

正因如此,下划线这个特殊符号无形增加Scala入门难度。本文希望帮助初学者踏平这个小山坡。 1.....*; //Scala import java.util._ 1.2 类成员默认 Java类成员可以不赋初始,编译器会自动帮你设置一个合适初始: class Foo{ //String...类型默认为null String s; } 而在Scala必须要显式指定,如果你比较懒,可以用_让编译器自动帮你设置初始: class Foo{ //String类型默认为...printArgs(new String[]{"a", "b"}); 在Java可以直接将数组传给printArgs方法,但是在Scala,你必须要明确告诉编译器,你是想将集合作为一个独立参数传进去...,操作符其实就是方法,例如1 + 1等价于1.+(1),利用下划线我们可以定义自己左置操作符,例如Scala负数就是用左置操作符实现: -2 //等价于 2.unary_- 3.4 定义赋值操作符

1.5K61

Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、

1:ScalaJava对比: 1.1:Scala函数是Java完全没有的概念。...在Scala,函数类,对象等一样,都是一等公民。Scala函数可以独立存在,不需要依赖于任何类与对象。 1.3:Scala函数式编程,就是Scala面向过程最好佐证。...2:Scala之函数式编程: 2.1:将函数赋值给变量:     Scala函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为赋值给变量,必须在函数后面加上空格下划线:     class...} } c、在模式匹配中进行变量赋值: Scala模式匹配语法,有一个特点在于,可以将模式匹配默认情况,下划线,替换为一个变量名,此时模式匹配语法就会将要匹配赋值给这个变量...: Scala协变逆变是非常有特色,解决了Java泛型一大缺憾。

2.9K50

Scala 【 10 函数式编程 】

函数式编程 将函数赋值给变量 ​ Scala 函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为赋值给变量。...一等公民表现在: 1.可以传递、赋值 2.嵌套函数匿名函数 3.具有高阶函数 4.偏应用 5.闭包 ​ Scala语法规定,将函数赋值给变量时,必须在函数后面加上空格下划线。...此时就可以使用 Scala 提供,在调用 Java 方法时,使用功能,SAM 转换,即将 SAM 转换为 Scala 函数。 ​ 要使用SAM转换,需要使用 Scala 提供特性,隐式转换。...,不需要使用 return 来返回函数,函数最后一行语句,就是函数返回。 ​...在 Scala ,return 用于在匿名函数返回给包含匿名函数带名函数,并作为带名函数返回。 ​ 使用return匿名函数,是必须给出返回类型,否则无法通过编译。

28210

Scala方法函数讲解

Scala,它Java一样也是拥有方法函数。Scala方法是类一部分,而函数是一个对象可以赋值给一个变量。换句话来说,在类定义函数即是方法。...Scala 可以使用 def语句val 语句定义函数,而定义方法只能使用def 语句。下面我们分别对Scala方法函数进行讲解。...([参数列表]):[return type]:是Scala方法可选参数列表,每个参数列表每个参数都有一个名字,参数名后跟着冒号参数类型。function body:是方法主体。...然而,Scala函数也是有区别于方法,可以使用val语句定义函数格式,并且函数必须要有参数列表,而方法可以没有参数列表。接下来,我们来介绍使用val语句定义调用函数具体格式。...addInt( a:Int, b:Int )=>a+b 3.方法转换成函数 方法转换成函数格式如下: val f1 = m _ 在上述格式,方法名m后面紧跟一个空格下划线,是为了告知编译器将方法

82940

Scala方法函数讲解

Scala,它Java一样也是拥有方法函数。Scala方法是类一部分,而函数是一个对象可以赋值给一个变量。换句话来说,在类定义函数即是方法。...Scala 可以使用 def语句val 语句定义函数,而定义方法只能使用def 语句。下面我们分别对Scala方法函数进行讲解。...([参数列表]):[return type]:是Scala方法可选参数列表,每个参数列表每个参数都有一个名字,参数名后跟着冒号参数类型。function body:是方法主体。...return [expr]:是Scala方法返回类型,可以是任意合法 Scala 数据类型。若没有返回,则返回类型为“Unit”。...addInt( a:Int, b:Int )=>a+b 3.方法转换成函数 方法转换成函数格式如下: val f1 = m _ 在上述格式,方法名m后面紧跟一个空格下划线,是为了告知编译器将方法

47100

python字符串方法详解

基本操作  len()、max()、min(),获取数据长度、序列中元素最大、最小,sum()获取列表或元组中元素之和 tip:min max返回不是位置索引(区别于R)字节数据返回ASCII...返回排序列表,reverse默认是升序,当为True时为倒序  内置函数all()&any()  all(s):如果s所有都为True,返回True;否则返回False any(s):如果s任意为...;eg:first,*s,last = [1,2,3,4,5]去掉最大最小  字符串  字符串或串(String)是由数字、字母、下划线组成一串字符,是编程语言中表示文本数据类型,是不可变数据类型...因此每个字符串只是一个Unicode代码点序列,用encode()函数将非编码字符串转换为python支持任何编码。 ...,将一个插入到一个有字符串格式符%s字符串

1.1K00

- Python初学者需要牢记几种编码规范

(关键是看着舒服啊) ⭐️ 头部注释(也叫声明编码格式) 头部注释(声明编码格式)几乎在主流编程语言脚本是必需。...,可以使用 TAB 或者空格作为缩进,大部分代码规范建议使用 4 个空格作为缩进。...在 Python 自带集成开发环境 IDLE ,用户输入 TAB 时,TAB 会被自动转换为 4 个空格。 为什么使用缩进?...) ③、函数参数列表,逗号后面要有空格 ④、函数参数列表,默认等于号左右两边不要添加空格 ⑤、左括号之后,右括号之前不要加添加空格 ⑥、参数列表, 索引或切片左括号之前不能加空格 通常情况下...⭐️ 空行规则 ①、编码格式声明、模块导入、常量全局变量声明、顶级定义执行代码之间空两行 ②、类顶层函数定义之间空两行;类方法定义之间空一行; ③、函数内逻辑无关段落之间空一行; ④、在函数或方法内部

10400

3小时Scala入门

(3)大括号{}用来划分作用域,{}返回为最后一个语句。 (4)句点符号.表示方法,可以用空格代替。 (5)冒号:用来说明变量数据类型。 (6)=>用来表示匿名函数映射关系。...(7)->用来指定映射Map键值关系。 (8)<-用来指定for表达式迭代器。 (9)下划线_在Scala中被用作占位符表示匿名函数参数或作为引入package通配符。...常用数据结构有以下一些: Array 定长数组:有序,可变类型,长度不可变。 ArrayBuffer 不定长数组:有序,可变类型,长度可以扩展。 List 列表:有序,不可变类型。...八,列表List 列表数组相似,都是有序结构,但列表元素是不可变。 并且列表存储结构为递推链表结构,和数组不同。 1,创建列表 ? 2,列表常用操作 ? ? ?...十八,匿名函数 Scala函数是一等公民,可以像变量一样定义使用。 变量一样,函数具有类型

1.6K30

带你快速掌握Scala操作———(3)

文章目录: 1、函数 定义函数 方法函数区别 方法转换为函数 2、数组 定长数组 变长数组 变长数组 添加/修改/删除元素 遍历数组 数组常用算法 3、元组 定义元组 访问元组..., sqoop) 遍历数组 可以使用以下两种方式来遍历数组:  使用for表达式直接遍历数组元素  使用索引遍历数组元素 参考代码 scala> val a = Array(1,2,3,4,5...List具备以下性质:  可以保存重复  有先后顺序 在scala,也有两种列表,一种是不可变列表、另一种是可变列表 定义 不可变列表就是列表元素、长度都是不可变。...(1, 2, 3) scala> a.drop(3) res60: List[Int] = List(4, 5) 扁平化(压平) 扁平化表示将列表列表所有元素放到一个列表。...它是由键值对组成集合。在scala,Map也分为不可变Map可变Map。

1.9K30

Scala语言入门:初学者基础语法指南

其中,前8种类型与Java基本数据类型相对应,而 Unit 类型表示无,类似于Java void。 引用类型包括所有非类型数据类型,例如字符串、数组列表等。...在主程序,我们将一个 Int 类型赋值给一个 String 类型变量。由于类型不匹配,编译器会尝试寻找一个隐式转换函数来将 Int 类型换为 String 类型。...) 在Scala下划线 _ 是一个特殊符号,它可以用在许多不同地方,具有不同含义。...作为通配符:下划线可以用作通配符,表示匹配任意。例如,在模式匹配,可以使用下划线来表示匹配任意。...Scala模式匹配是我觉得非常实用灵活一个功能,比Javaswitch语句更加强大和灵活。Scala模式匹配可以匹配不同类型,包括数字、字符串、列表、元组等。

24020

3小时Scala入门

(3)大括号{}用来划分作用域,{}返回为最后一个语句。 (4)句点符号.表示方法,可以用空格代替。 (5)冒号:用来说明变量数据类型。 (6)=>用来表示匿名函数映射关系。...(7)->用来指定映射Map键值关系。 (8)<-用来指定for表达式迭代器。 (9)下划线_在Scala中被用作占位符表示匿名函数参数或作为引入package通配符。...常用数据结构有以下一些: Array 定长数组: 有序,可变类型,长度不可变。 ArrayBuffer 不定长数组:有序,可变类型,长度可以扩展。 List 列表:有序,不可变类型。...八,列表List 列表数组相似,都是有序结构,但列表元素是不可变。 并且列表存储结构为递推链表结构,和数组不同。 1,创建列表 ? 2,列表常用操作 ? ? ?...十八,匿名函数 Scala函数是一等公民,可以像变量一样定义使用。 变量一样,函数具有类型

3.5K20

Scala语言入门:初学者基础语法指南

其中,前8种类型与Java基本数据类型相对应,而 Unit 类型表示无,类似于Java void。 引用类型包括所有非类型数据类型,例如字符串、数组列表等。...在主程序,我们将一个 Int 类型赋值给一个 String 类型变量。由于类型不匹配,编译器会尝试寻找一个隐式转换函数来将 Int 类型换为 String 类型。...) 在Scala下划线 _ 是一个特殊符号,它可以用在许多不同地方,具有不同含义。...作为通配符:下划线可以用作通配符,表示匹配任意。例如,在模式匹配,可以使用下划线来表示匹配任意。...Scala模式匹配是我觉得非常实用灵活一个功能,比Javaswitch语句更加强大和灵活。Scala模式匹配可以匹配不同类型,包括数字、字符串、列表、元组等。

31510

Scala语言入门:初学者基础语法指南

其中,前8种类型与Java基本数据类型相对应,而 Unit 类型表示无,类似于Java void。 引用类型包括所有非类型数据类型,例如字符串、数组列表等。...在主程序,我们将一个 Int 类型赋值给一个 String 类型变量。由于类型不匹配,编译器会尝试寻找一个隐式转换函数来将 Int 类型换为 String 类型。...) 在Scala下划线 _ 是一个特殊符号,它可以用在许多不同地方,具有不同含义。...作为通配符:下划线可以用作通配符,表示匹配任意。例如,在模式匹配,可以使用下划线来表示匹配任意。...Scala模式匹配是我觉得非常实用灵活一个功能,比Javaswitch语句更加强大和灵活。Scala模式匹配可以匹配不同类型,包括数字、字符串、列表、元组等。

26220
领券