首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    scala 学习笔记

    从终端的打印可以看出,Scala从右值自动推导出了变量的类型。Scala可以如动态语言似的编写代码,但又有静态语言的编译时检查。这对于Java中冗长、重复的类型声明来说是一种很好的进步。...基础数据类型 Scala中基础数据类型有:Byte、Short、Int、Long、Float、Double,Boolean,Char、String。...和Java不同的是,Scala中没在区分原生类型和装箱类型,如:int和Integer。它统一抽象成Int类型,这样在Scala中所有类型都是对象了。...通常的for语句如下: for (变量 <- 集合) { 语句块 } Scala中for表达式除了上面那样的常规用法,它还可以使用yield关键字将集合映射为另一个集合: scala> val list...if item % 2 == 0) yield item list3: List[Int] = List(2, 4) 还可以做flatMap操作,解析2维列表并将结果摊平(将2维列表拉平为一维列表):

    81320

    大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配

    = "AAAAAAAAAABBBBBBBBCCCCCDDDDDDD"     // 方式一:不可变 Map,是有序的     def charCount1(map: Map[Char, Int], ...c: Char): Map[Char, Int] = {       // 向 Map 中添加键值对       // val map2 = map + (c -> (map.getOrElse(c, ... 0) + 1)) // 如果键c有,返回键c对应的值并加1,键c没有,返回0并加1     }     val map1 = Map[Char, Int]()     println(sentence.foldLeft...[Char, Int], c: Char): mutable.Map[Char, Int] = {       // 向 Map 中添加键值对       map += (c -> (map.getOrElse...(c, 0) + 1)) // 如果键c有,返回键c对应的值并加1,键c没有,返回0并加1     }     val map2 = mutable.Map[Char, Int]()     println

    1.8K00

    大数据之脚踏实地学12--Scala数据类型与运算符

    举例 scala> val x1 : Byte = 123 x1: Byte = 123 scala> x1 + 100 // Byte + Int 会自动升级为Int res0: Int = 223...scala> val x2 : Int = 10000 x2: Int = 10000 scala> x2 + 1111.1 // Int + Double 会自动升级为Double res1:...Double = 11111.1 scala> val x3 : Char = 'A' x3: Char = A scala> x3 + 1 // Char + Int 会自动升级为Int res2...1).toChar // 将Int型的66强制转换为Char类型 res3: Char = B scala> (23.5/5).toInt // 将Double类型强制转换为Int类型 res5...(a <= b) = true 数学运算符 运算符 含义 + 和运算,如果加号两边为数值,为求和,如果加号两边包含字符串,则为拼接运算 - 减运算 * 乘法运算 / 除法运算,需要注意的是,如果分子分母均为整数

    1.1K20

    Scala 高阶(九):Scala中的模式匹配

    中关于模式匹配的内容,Scala中的模式匹配类似于Java中的switch语法,但是Scala在基于Java的思想上补充了特有的功能。...样例类仍然是类,和普通类相比,只是其自动生成了伴生对象,并且伴生对象中自动提供了一些常用的方法,如 apply、unapply、toString、equals、hashCode 和 copy。...例如该偏函数的输入类型为List[Int],、需要的是第一个元素是 0 的集合,这就是通过模式匹配实现的。...PartialFunction[List[Int], Option[Int]]: 偏函数类型 该偏函数的功能是返回输入的 List 集合的第二个元素 举个例子: object Test_PartialFunction...// map转换 key不变 value两倍 val newList = list.map(tuple => (tuple._1, tuple._2 * 2)) // 模式匹配 对元素元素赋值

    2.6K30

    scala基础学习--scala教程

    自带的类型:这些都是类,scala没有类似int、long这样的基本数据类型 Byte、Short、Int、Long、Float、Double、Char、String、Boolean、 变量:不可变变量...Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Option[T] 就是对象 None 。...映射map方法:返回集合的元素数量和源数据集合的元素数量一致 val xs = List(1, 2, 3, 4) val ys = xs.map((x: Int) => x * 10.0) 以下语句作用相同...: val ys = xs.map((x: Int) => x * 10.0) val ys = xs.map{(x: Int) => x * 10.0}             map函数只有一个输入参数...} } MapReduce的map和reduce都参考了函数式编程中的map和reduce的思想,scala本身支持函数式编程,所以也包含map和reduce

    1.6K90

    分布式机器学习:如何快速从Python栈过渡到Scala栈

    :Int = 123456 val long:Long = 1234567890 val float:Float = 123.45f val double:Double = 123.45d val char...,long,float,double,char,string,bool,unit,nil,name) 数据类型上看Scala的特点有: 与java类似支持的数据类型比较多,比如单、双精度浮点型都支持,不像...Python只有双精度; 区分Char和String,意味着单引号、双引号不能随便混用; Unit类型用于函数没有返回值时; Null表示空值; val定义的变量为常量,其值不能改变,而var定义的则是变量...Array[Int](8) // 长度为8,全是0的不可变数组 println(arr) // 直接打印数组看不到其内部元素,只能看到它的地址 println(arr.toBuffer) // 通过toBuffer...同样的ListBuffer是List的可变版本; 字典 字典在Scala中叫做映射; val map1 = Map("k1"->10, 2->1.5, 3.3->"abc") println(map1)

    1.5K20

    机器学习:如何快速从Python栈过渡到Scala栈

    :Int = 123456 val long:Long = 1234567890 val float:Float = 123.45f val double:Double = 123.45d val char...,long,float,double,char,string,bool,unit,nil,name) 数据类型上看Scala的特点有: 与java类似支持的数据类型比较多,比如单、双精度浮点型都支持,不像...Python只有双精度; 区分Char和String,意味着单引号、双引号不能随便混用; Unit类型用于函数没有返回值时; Null表示空值; val定义的变量为常量,其值不能改变,而var定义的则是变量...Array[Int](8) // 长度为8,全是0的不可变数组 println(arr) // 直接打印数组看不到其内部元素,只能看到它的地址 println(arr.toBuffer) // 通过toBuffer...同样的ListBuffer是List的可变版本; 字典 字典在Scala中叫做映射; val map1 = Map("k1"->10, 2->1.5, 3.3->"abc") println(map1)

    2.1K31

    Scala——多范式, 可伸缩, 类似Java的编程语言

    二 变量常量声明 定义变量或者常量的时候,也可以写上返回的类型,一般省略,如:val a:Int = 10 常量不可再赋值 /** * 定义变量和常量 * 变量 :用 var 定义...byte 数组中 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此字符串复制到目标字符数组 int...以上实例数组初始值为 0,长度为 3,计算函数为a=>a+1:scala> Array.iterate(0,3)(a=>a+1) ; res1: Array[Int] = Array(0, 1, 2)...创建list val list = List(1,2,3,4) Nil长度为0的list list遍历 foreach ,for list方法举例 filter:过滤元素 count:计算符合条件的元素个数...Map,新的 Map xs 组成 2 def -(elem1: A, elem2: A, elems: A*): Map[A, B] 返回一个新的 Map, 移除 key 为 elem1, elem2

    3.8K20

    精心整理了100+Python字符串常用操作,收藏备用!

    字符串切片操作 检查字符串是否为空 计算字符串中字符出现次数的多种方法 将 String 变量转换为 float、int 或 boolean 向字符串填充或添加零的不同方法 去掉字符串中的 space...Python 中为字符串添加 X 个空格 如何在Python中替换字符串中的特定字符串实例 如何连接两个变量,一个是字符串,另一个是 Python 中的 int 在 Python 中的反斜杠上拆分字符串...在 Python 中将字符串中每个单词的首字母大写 仅在 Python 中的双引号后拆分字符串 在 Python 中以字节为单位获取字符串的大小 在 Python 中比较字符串中的字符 在 Python...Python 中将字符串的第三个字母大写 将制表符大小设置为指定的空格数 将两个字符串与某些字符进行比较 字符串格式化填充负数 单独替换字符串中的第一个字符 连接固定字符串和变量 将字符串拆分为多个字符串...(str_exp2) # Example 3 str_exp3 = ''.join(map(str, list_exp)) print(type(str_exp2)) print(str_exp2)

    16.6K20
    领券