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

3小时Scala入门

六,字符串String Scala的字符串是一种有序且不可变的基本数据类型,直接使用的Java中定义好的java.lang.String。 1,创建字符串 ? 2,字符串常用操作 ? ? ?...八,列表List 列表和数组相似,都是有序的结构,但列表中的元素是不可变的。 并且列表的存储结构为递推的链表结构,和数组不同。 1,创建列表 ? 2,列表常用操作 ? ? ?...九,集合 集合是一种不可变的类型,并且是无顺序的,适合查找某个元素是否在集合中。 ? ? 十,映射Map 映射和Python中的字典很像,但是Scala中的Map是一种不可变类型。...十六,异常捕获 异常捕获的语句是 try...catch...finally... 此外还可以用throw抛出异常。 ? 十七,函数定义 Scala中的函数可以通过关键字def定义或者使用匿名函数。...二十六,Scala语言的设计哲学 1,一切皆对象 从整数,字符串,函数,类到各种数据结构,Scala中一切皆为对象,Any是它们的超类。

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3小时Scala入门

    六,字符串String Scala的字符串是一种有序且不可变的基本数据类型,直接使用的Java中定义好的java.lang.String。 1,创建字符串 ? 2,字符串常用操作 ? ? ?...八,列表List 列表和数组相似,都是有序的结构,但列表中的元素是不可变的。 并且列表的存储结构为递推的链表结构,和数组不同。 1,创建列表 ? 2,列表常用操作 ? ? ?...九,集合 集合是一种不可变的类型,并且是无顺序的,适合查找某个元素是否在集合中。 ? ? 十,映射Map 映射和Python中的字典很像,但是Scala中的Map是一种不可变类型。...十六,异常捕获 异常捕获的语句是 try...catch...finally... 此外还可以用throw抛出异常。 ? 十七,函数定义 Scala中的函数可以通过关键字def定义或者使用匿名函数。...二十六,Scala语言的设计哲学 1,一切皆对象 从整数,字符串,函数,类到各种数据结构,Scala中一切皆为对象,Any是它们的超类。

    1.6K30

    3小时Scala入门

    六,字符串String Scala的字符串是一种有序且不可变的基本数据类型,直接使用的Java中定义好的java.lang.String。 1,创建字符串 ? 2,字符串常用操作 ? ? ?...八,列表List 列表和数组相似,都是有序的结构,但列表中的元素是不可变的。 并且列表的存储结构为递推的链表结构,和数组不同。 1,创建列表 ? 2,列表常用操作 ? ? ?...九,集合 集合是一种不可变的类型,并且是无顺序的,适合查找某个元素是否在集合中。 ? ? 十,映射Map 映射和Python中的字典很像,但是Scala中的Map是一种不可变类型。...十六,异常捕获 异常捕获的语句是 try...catch...finally... 此外还可以用throw抛出异常。 ? 十七,函数定义 Scala中的函数可以通过关键字def定义或者使用匿名函数。...二十六,Scala语言的设计哲学 1,一切皆对象 从整数,字符串,函数,类到各种数据结构,Scala中一切皆为对象,Any是它们的超类。

    3.5K20

    大数据--scala学习第一章:基础第二章:控制结构和函数第三章:数组第四章:字典和元组第五章:类第六章:对象第七章:包和引入第八章:继承第九章文件和正则表达式第十章特质:接口第十一章操作符第十二章函

    16、异常:异常与Java的异常类似,但是不强制函数向上传递异常。...alice”->10,”bob”->3),或者使用HashMap 3、映射操作:获取映射中的值scores(bob),改操作如果不存在建会报错,一般使用socers.getOrElse(“bob”,0)...字符串中存在一个partition的来处理字符串生成元组。可以使用zip来合成元组。...如用于构造列表的::操作符就是右结合的: val a=List(1,2,3,4) val b=-1::0::a//实际上是按照这样的顺序-1::(2::a)。...比如map的get方法在java中可能返回为null而导致出现NullPointerException异常,而Scala中返回的是一个Option[T]类型当值不存在时为None,存在时返回Some(T

    4.4K20

    Scala最基础入门教程

    Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概念)。...如果满足上两个条件,那么就称这个object为class的伴生对象,称class为object的伴生类。 伴生类与伴生对象可以互相访问对方的私有成员。...中的Map和Java类似,**也是一个散列表,它存储的内容也是键值对(key-value)**映射。...**转化/映射(map):**将集合中的每一个元素映射到某一个函数。 扁平化 **扁平化+映射:**注:flatMap相当于先进行map操作,在进行flatten操作。...10 match { case 10 => "10" case _ => "other" } 八、异常 Scala没有“checked(编译期)”异常,即Scala没有编译异常这个概念,异常都是在运行的时候捕获处理

    70670

    scala 容器详细解释

    操作类型是Elem => U,其中Elem是容器(collection)中元素的类型,U是一个任意的返回值类型。对f的调用仅仅是容器遍历的副作用,实际上所有函数f的计算结果都被foreach抛弃了。...它们主要用于特定类型的容器(数值或比较)。 字符串(String)操作有mkString,addString和stringPrefix,可以将一个容器通过可选的方式转换为字符串。...如果该主键不存在,则会抛出异常。 添加及更新类操作:+、++、updated,这些映射操作允许你添加一个新的绑定或更改现有的绑定。 删除类操作:-、–,从一个映射(Map)中移除一个绑定。...filterKeys、mapValues等变换用于对现有映射中的绑定进行过滤和变换,进而生成新的映射。...具体不可变集实体类 List 列表List是一种有限的不可变序列式。提供了常数时间的访问列表头元素和列表尾的操作,并且提供了常数时间的构造新链表的操作,该操作将一个新的元素插入到列表的头部。

    1.3K10

    大数据分析工程师面试集锦2-Scala

    List列表:以线性方式存储,集合中可以存放重复对象; Set集合:集合中的对象不按特定的方式排序,并且没有重复对象; Map映射:是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象...值得注意的是,隐式参数是根据类型匹配的,因此作用域中不能同时出现两个相同类型的隐式变量,否则编译时会抛出隐式变量模糊的异常。 35 如何处理异常?...需要注意的是与try……catch成对出现的还有finally语句-用于执行不管是正常处理还是有异常发生时都需要执行的步骤。...} case n if n { n to 0 foreach println } } } 0 2 编写一段程序, 从文件中读取单词, 用一个可变映射来清点每一个单次出现的频率...,以及一个字符串到整型值的映射,返回整型集合, 其值为能和集合中某个字符串相对应的映射的值。

    2.1K20

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

    、Set、Map…) 重点掌握函数式编程思想及其使用 1. scala简介 scala是运行在JVM上的多范式编程语言,同时支持面向对象编程和面向函数式编程 ?...早期,scala刚出现的时候,并没有怎么引起重视,随着Kafka和Spark这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。...映射 Map可以称之为映射。它是由键值对组成的集合。在scala中,Map也分为不可变Map和可变Map。...17.4 映射 | map 集合的映射操作是将来在编写Spark/Flink用得最多的操作,是我们必须要掌握的。...> a.map(_ + 1) 17.5 扁平化映射 | flatMap 扁平化映射也是将来用得非常多的操作,也是必须要掌握的。

    4.1K20

    (数据科学学习手札45)Scala基础知识

    = 1.0 scala> val z:String="scala" z: String = scala   而事实上,即使你在Scala中声明变量时不进行类型的指定,Scala内部也会根据你输入数据的具体类型进行判断...="spark" z: String = spark 2.3 算数操作符、关系运算符与逻辑运算符   Scala像很多其他成熟的编程语言一样,具有丰富的内置运算符,且在Scala中操作符也被视为函数,即可以通过对象...,Scala中的列表被设计来存放各种类型的元素,且Scala中的列表类型有三种模式,一种是当列表内部元素类型统一时,如List[Int],一种是当列表中同时包含几种不同类型元素时,为List[Any],...中,我们可以通过:::运算符或List.concat()来为已有的列表串联上新的列表: scala> var list1 = List(1,2,3) list1: List[Int] = List(1,...  Scala中的异常控制与Java非常相似,处理抛出异常之外,还有捕获异常,这里我们只介绍捕获异常:   Scala中捕获异常的格式如下:   try{            ... ...   }

    2.6K20

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

    这意味着Scala程序可以与Java程序互操作,并且可以利用JVM的优化和性能。 在语法上,Scala和Java有一些区别。...最后,我们打印出 sum 的 x 和 y 坐标,验证加法操作的结果。 我们可以像使用内置运算符一样使用自定义运算符。它们可以用于相应类型的实例上,并按照定义的逻辑执行操作。...(1) // 过滤列表中的元素 val filteredList = list.filter(_ > 2) // 映射列表中的元素 val mappedList = list.map(_ * 2)...Scala的模式匹配是我觉得非常实用和灵活的一个功能,比Java的switch语句更加强大和灵活。Scala的模式匹配可以匹配不同类型的值,包括数字、字符串、列表、元组等。...如果我们尝试用 divide 函数去除以零,它会抛出一个异常。其中isDefinedAt 是一个方法,它用于检查偏应用函数是否在给定的输入值上定义。

    34820

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

    Scala 同样重用了许多标准 Java 库类型。例如,Scala 里的字符串文本是 Java.lang.String,而抛出的异常必须是 java.lang.Throwable 的子类。...+(",world") res18: String = hello,world scala> 也就是说 字符串的+运算实际上就是调用了+方法,运算符被重载了 to运算可以生成一个区间集合 2.4 分支语句...列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变,其次列表 具有递归的结构(也就是链接表结构)而数组不是。。...键在映射中是唯一的,但值不一定是唯一的。映射也称为哈希表。映射有两种,不可变的和可变的。可变对象和不可变对象之间的区别在于,当对象不可变时,对象本身无法更改。...) (3,c) scala> 总结: scala提供了许多用于添加和移除元素的操作符,总结如下。

    3.1K80

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

    这意味着Scala程序可以与Java程序互操作,并且可以利用JVM的优化和性能。 在语法上,Scala和Java有一些区别。...最后,我们打印出 sum 的 x 和 y 坐标,验证加法操作的结果。 我们可以像使用内置运算符一样使用自定义运算符。它们可以用于相应类型的实例上,并按照定义的逻辑执行操作。...(1) // 过滤列表中的元素 val filteredList = list.filter(_ > 2) // 映射列表中的元素 val mappedList = list.map(_ * 2)...Scala的模式匹配是我觉得非常实用和灵活的一个功能,比Java的switch语句更加强大和灵活。Scala的模式匹配可以匹配不同类型的值,包括数字、字符串、列表、元组等。...如果我们尝试用 divide 函数去除以零,它会抛出一个异常。其中isDefinedAt 是一个方法,它用于检查偏应用函数是否在给定的输入值上定义。

    36320

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

    这意味着Scala程序可以与Java程序互操作,并且可以利用JVM的优化和性能。 在语法上,Scala和Java有一些区别。...最后,我们打印出 sum 的 x 和 y 坐标,验证加法操作的结果。 我们可以像使用内置运算符一样使用自定义运算符。它们可以用于相应类型的实例上,并按照定义的逻辑执行操作。...(1) // 过滤列表中的元素 val filteredList = list.filter(_ > 2) // 映射列表中的元素 val mappedList = list.map(_ * 2)...Scala的模式匹配是我觉得非常实用和灵活的一个功能,比Java的switch语句更加强大和灵活。Scala的模式匹配可以匹配不同类型的值,包括数字、字符串、列表、元组等。...如果我们尝试用 divide 函数去除以零,它会抛出一个异常。其中isDefinedAt 是一个方法,它用于检查偏应用函数是否在给定的输入值上定义。

    67610

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

    作为一种在Java虚拟机(JVM)上运行的静态类型编程语言,Scala结合了面向对象和函数式编程的特性,使它既有强大的表达力又具备优秀的型态控制。...这意味着Scala程序可以与Java程序互操作,并且可以利用JVM的优化和性能。在语法上,Scala和Java有一些区别。...最后,我们打印出 sum 的 x 和 y 坐标,验证加法操作的结果。我们可以像使用内置运算符一样使用自定义运算符。它们可以用于相应类型的实例上,并按照定义的逻辑执行操作。...Scala的模式匹配是我觉得非常实用和灵活的一个功能,比Java的switch语句更加强大和灵活。Scala的模式匹配可以匹配不同类型的值,包括数字、字符串、列表、元组等。...如果我们尝试用 divide 函数去除以零,它会抛出一个异常。其中isDefinedAt 是一个方法,它用于检查偏应用函数是否在给定的输入值上定义。

    37620

    Scala 高阶(八):集合内容汇总(下篇)

    简单计算函数 高级计算函数 WordCount案例 二、队列 三、并行集合 ---- 在上一篇集合的分享中,讲解了Scala中集合的基本概述以及常用集合的基本操作,本次住要分享Scala中集合更高级的操作...Map操作: 过滤 filter(过滤条件):遍历一个集合并从中获取满足指定条件的元素组成一个新的集合 映射map(自定义映射函数):将集合中的每一个元素映射到某一个函数 扁平化flatten 将集合中集合元素拆开...Map操作,把每一个元素做一个转化得到新的集合,相当于集合的映射关系 // 每个元素✖️2 list.map(elem => elem * 2) // 扁平化 val...// 将一组字符串进行分词,并保存成单词的列表 val strings = List("hello world", "hello scala", "hello java") /...", "hello scala spark", "hello scala spark flink" ) // 对字符串进行拆分 val wordList

    63020

    23篇大数据系列(二)scala基础知识全集(史上最全,建议收藏)

    相当于 Java 的接口,但实际上它比接口的功能强大。...val x = Set(1,3,5,7) // 定义 Map,把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。...") //打印 Hello,Scala 值得注意的是,隐式参数是根据类型匹配的,因此作用域中不能同时出现两个相同类型的隐式变量,否则编译时会抛出隐式变量模糊的异常。...关于异常处理的注意事项,在上一讲《大数据分析工程师入门--1.Java基础》里已经讲过了,这里就不再赘述了。我们重点来讲下scala和java在异常这个特性的设计上的不同。 1....当接收参数为Object类型时,scala默认不会转换成java的数值类型,这样当判断对象的具体数值类型时,会出现不认识scala对象类型的异常。

    1.1K20

    挑逗 Java 程序员的那些 Scala 绝技

    二、字符串增强 挑逗指数: 四星 常用操作 Scala 针对字符作进行了增强,提供了更多的使用操作。 ?...其实你完全可以把 String 当做 Seq[Char] 使用,利用 Scala 强大的集合操作,你可以随心所欲地操作字符串。...原生字符串 在 Scala 中,我们可以直接书写原生字符串而不用进行转义,将字符串内容放入一对三引号内即可。 ? 字符串插值 通过 s 表达式,我们可以很方便地在字符串内插值。 ?...通过 Scala 提供的集合操作,我们基本上可以实现 SQL 的全部功能,这也是为什么 Scala 能够在大数据领域独领风骚的重要原因之一。...而在 Scala 中,我们可以通过 Future 捕获任意线程中发生的异常。

    1K20
    领券