上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 69 下一页

2022年4月11日

|NO.Z.00051|——————————|BigDataEnd|——|Hadoop&Scala.V07|——|Scala.v07|模式匹配和样例类|Option|模式匹配|

摘要: 一、Option与模式匹配 ### Option与模式匹配 ~~~ Scala Option选项类型用来表示一个值是可选的,有值或无值。 ~~~ Option[T] 是一个类型为 T 的可选值的容器,可以通过get()函数获取Option的值。如果值存在, ~~~ Option[T] 就是一个 So 阅读全文

posted @ 2022-04-11 19:57 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00049|——————————|BigDataEnd|——|Hadoop&Scala.V05|——|Scala.v05|模式匹配和样例类|匹配数组|元组集合|

摘要: 一、匹配数组、元组、集合 ### 编程示例 def main(args: Array[String]): Unit = { val arr = Array(0, 3, 5) //对Array数组进行模式匹配,分别匹配: //带有指定个数元素的数组、带有指定元素的数组、以某元素开头的数组 arr ma 阅读全文

posted @ 2022-04-11 19:56 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00047|——————————|BigDataEnd|——|Hadoop&Scala.V03|——|Scala.v03|模式匹配和样例类|守卫式匹配|

摘要: 一、守卫式匹配 ### 编程示例 // 所谓守卫就是添加if语句 object MatchDemo { def main(args: Array[String]): Unit = { //守卫式 val character = '*' val num = character match { case 阅读全文

posted @ 2022-04-11 19:55 yanqi_vip 阅读(11) 评论(0) 推荐(0)

|NO.Z.00048|——————————|BigDataEnd|——|Hadoop&Scala.V04|——|Scala.v04|模式匹配和样例类|匹配类型|

摘要: 一、匹配类型 ### 匹配类型 ~~~ Scala的模式匹配还有一个强大的功能,它可以直接匹配类型,而不是值。 ~~~ 这一点是Java的switch case做不到的。 ~~~ 匹配类型的语法:case 变量 : 类型 => 代码,而不是匹配值的“case 值 => 代码”这种语法。 ### 代码 阅读全文

posted @ 2022-04-11 19:55 yanqi_vip 阅读(24) 评论(0) 推荐(0)

|NO.Z.00046|——————————|BigDataEnd|——|Hadoop&Scala.V02|——|Scala.v02|模式匹配和样例类|字符|字符串匹配|

摘要: 一、字符和字符串匹配 ### 编程示例 def main(args: Array[String]): Unit = { val charStr = '6' charStr match { case '+' => println("匹配上了加号") case '-' => println("匹配上了减 阅读全文

posted @ 2022-04-11 19:54 yanqi_vip 阅读(14) 评论(0) 推荐(0)

|NO.Z.00045|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|模式匹配和样例类|模式匹配|

摘要: 一、模式匹配 ### 模式匹配 ~~~ Scala没有Java中的switch case,它有一个更加强大的模式匹配机制,可以应用到很多场合。 ~~~ Scala的模式匹配可以匹配各种情况,比如变量的类型、集合的元素、有值或无值。 ~~~ 模式匹配的基本语法结构:变量 match { case 值 阅读全文

posted @ 2022-04-11 19:53 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00044|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-11 19:53 yanqi_vip 阅读(7) 评论(0) 推荐(0)

|NO.Z.00041|——————————|BigDataEnd|——|Hadoop&Scala.V03|——|Scala.v03|特质|特质构造顺序|

摘要: 一、特质构造顺序 ### 特质构造顺序 ~~~ 在Scala中,trait特质也是有构造器的,也就是trait中的不包含在任何方法中的代码。 ### 构造器以如下顺序执行: ~~~ 执行父类的构造器; ~~~ 执行trait的构造器,多个trait从左到右依次执行; ~~~ 构造trait时会先构造 阅读全文

posted @ 2022-04-11 19:52 yanqi_vip 阅读(14) 评论(0) 推荐(0)

|NO.Z.00042|——————————|BigDataEnd|——|Hadoop&Scala.V04|——|Scala.v04|特质|特质继承类|

摘要: 一、特质继承类 ### 特质继承类 ~~~ 在Scala中,trait特质也可以继承class类,此时这个class类就会成为所有继承此trait的类的父类。 class MyUtil { def printMessage(msg: String) = println(msg) } // 特质Log 阅读全文

posted @ 2022-04-11 19:52 yanqi_vip 阅读(7) 评论(0) 推荐(0)

|NO.Z.00043|——————————|BigDataEnd|——|Hadoop&Scala.V05|——|Scala.v05|特质|Ordered|Ordering|

摘要: 一、Ordered和Ordering ### Ordered和Ordering ~~~ 在Java中对象的比较有两个接口,分别是Comparable和Comparator。它们之间的区别在于: ~~~ 实现Comparable接口的类,重写compareTo()方法后,其对象自身就具有了可比较性; 阅读全文

posted @ 2022-04-11 19:52 yanqi_vip 阅读(25) 评论(0) 推荐(0)

|NO.Z.00040|——————————|BigDataEnd|——|Hadoop&Scala.V02|——|Scala.v02|特质|带有具体|实现特质|

摘要: 一、带有具体实现的特质 ### 具体方法 ~~~ Scala中的trait特质不仅仅可以定义抽象方法, ~~~ 还可以定义具体实现的方法,这时的trait更像是包含了通用工具方法的类。 ~~~ 比如,trait中可以包含一些很多类都通用的功能方法, ~~~ 比如打印日志等等,Spark中就使用了tr 阅读全文

posted @ 2022-04-11 19:51 yanqi_vip 阅读(44) 评论(0) 推荐(0)

|NO.Z.00039|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|特质|作为接口|使用特质|

摘要: 一、作为接口使用的特质 ### 作为接口使用的特质 ~~~ Scala中的trait特质是一种特殊的概念。 ~~~ 首先可以将trait作为接口来使用,此时的trait就与Java中的接口非常类似。 ~~~ 在trait中可以定义抽象方法,与抽象类中的抽象方法一样,只要不给出方法的具体实现即可。 ~ 阅读全文

posted @ 2022-04-11 19:51 yanqi_vip 阅读(30) 评论(0) 推荐(0)

|NO.Z.00037|——————————|BigDataEnd|——|Hadoop&Scala.V04|——|Scala.v04|继承|类型检查与转换|

摘要: 一、类型检查与转换 ### 类型检查与转换 ~~~ 要测试某个对象是否属于某个给定的类,可以用isInstanceOf方法。 ~~~ 如果测试成功,可以用asInstanceOf方法进行类型转换。 ### 编程示例 if(p.isInstanceOf[Employee]){ //s的类型转换为Emp 阅读全文

posted @ 2022-04-11 19:50 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00038|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-11 19:50 yanqi_vip 阅读(8) 评论(0) 推荐(0)

|NO.Z.00036|——————————|BigDataEnd|——|Hadoop&Scala.V03|——|Scala.v03|继承|override方法重写|

摘要: 一、override方法重写 ### override ~~~ 方法重写指的是当子类继承父类的时候, ~~~ 从父类继承过来的方法不能满足子类的需要,子类希望有自己的实现, ~~~ 这时需要对父类的方法进行重写,方法重写是实现多态的关键。 ~~~ Scala中的方法重写同Java一样,也是利用ove 阅读全文

posted @ 2022-04-11 19:49 yanqi_vip 阅读(25) 评论(0) 推荐(0)

|NO.Z.00034|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|继承|继承概念|

摘要: 一、继承 ### 继承的概念 ~~~ Scala中继承类的方式和Java一样,也是使用extends关键字: class Employee extends Person{ var salary=1000 } ~~~ # 和Java一样,可在定义中给出子类需要而父类没有的字段和方法,或者重写父类的方法 阅读全文

posted @ 2022-04-11 19:48 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00035|——————————|BigDataEnd|——|Hadoop&Scala.V02|——|Scala.v02|继承|构造器执行顺序|

摘要: 一、构造器执行顺序 ### 构造器执行顺序 ~~~ Scala在继承的时候构造器的执行顺序:首先执行父类的主构造器,其次执行子类自身的主构造器。 ~~~ 类有一个主构造器和任意数量的辅助构造器, ~~~ 而每个辅助构造器都必须以对先前定义的辅助构造器或主构造器的调用开始。 ~~~ 子类的辅助构造器最 阅读全文

posted @ 2022-04-11 19:48 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00032|——————————|BigDataEnd|——|Hadoop&Scala.V05|——|Scala.v05|类与对象|对象|

摘要: 一、单例对象 ### 单例对象 ~~~ Scala并没有提供Java那样的静态方法或静态字段; ~~~ 可以采用object关键字实现单例对象,具备和Java静态方法同样的功能; ~~~ 使用object语法结构【object是Scala中的一个关键字】达到静态方法和静态字段的目的; ~~~ 对象本 阅读全文

posted @ 2022-04-11 19:47 yanqi_vip 阅读(22) 评论(0) 推荐(0)

|NO.Z.00033|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-11 19:47 yanqi_vip 阅读(9) 评论(0) 推荐(0)

|NO.Z.00031|——————————|BigDataEnd|——|Hadoop&Scala.V04|——|Scala.v04|类与对象|构造器|

摘要: 一、构造器 ### 构造器 ~~~ 如果没有定义构造器,Scala类中会有一个默认的无参构造器; ~~~ Scala当中类的构造器分为两种:主构造器和辅助构造器; ~~~ 主构造器的定义与类的定义交织在一起,将主构造器的参数直接放在类名之后。 ~~~ 当主构造器的参数不用var或val修饰时,参数会 阅读全文

posted @ 2022-04-11 19:46 yanqi_vip 阅读(22) 评论(0) 推荐(0)

|NO.Z.00029|——————————|BigDataEnd|——|Hadoop&Scala.V02|——|Scala.v02|类与对象|自定义getter|setter方法|

摘要: 一、自定义getter和setter方法 ### 自定义getter和setter方法 ~~~ 对于 Scala 类中的每一个属性,编译后会有一个私有的字段和相应的getter、setter方法生成。 ~~~ getter方法 println(person age) ~~~ setter方法 per 阅读全文

posted @ 2022-04-11 19:45 yanqi_vip 阅读(28) 评论(0) 推荐(0)

|NO.Z.00030|——————————|BigDataEnd|——|Hadoop&Scala.V03|——|Scala.v03|类与对象|Bean属性|

摘要: 一、Bean属性 ### Bean属性概述 ~~~ JavaBean规范把Java属性定义为一堆getter和setter方法。 ~~~ 类似于Java,当将Scala字段标注为 @BeanProperty时,getFoo和setFoo方法会自动生成。 ~~~ 使用@BeanProperty并不会影 阅读全文

posted @ 2022-04-11 19:45 yanqi_vip 阅读(15) 评论(0) 推荐(0)

|NO.Z.00028|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|类与对象|类和无参构造器|

摘要: 一、类和无参构造器 ### 类和无参构造器 ~~~ 在Scala中,类并不用声明为public; ~~~ Scala源文件中可以包含多个类,所有这些类都具有公有可见性; ~~~ val修饰的变量(常量),值不能改变,只提供getter方法,没有setter方法; ~~~ var修饰的变量,值可以改变 阅读全文

posted @ 2022-04-11 19:44 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00027|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-11 19:44 yanqi_vip 阅读(12) 评论(0) 推荐(0)

|NO.Z.00026|——————————|BigDataEnd|——|Hadoop&Scala.V06|——|Scala.v06|数组元组|元组及操作|

摘要: 一、元组及操作 ### 元组及操作 ~~~ Tuple,元组。Map是键值对的集合。对偶是元组的最简单形态; ~~~ 元组是不同类型的值的集合,元组中的元素可以是不同的数据类型,元组在Scala中的应用非常广泛。 ### 编程示例 ~~~ # 报错,元组的元素个数上限是22个 val a = Tup 阅读全文

posted @ 2022-04-11 19:43 yanqi_vip 阅读(22) 评论(0) 推荐(0)

|NO.Z.00024|——————————|BigDataEnd|——|Hadoop&Scala.V04|——|Scala.v04|数组元组|常见算法|

摘要: 一、常见算法 ### 常见算法 ~~~ 在Scala中对数组进行转换非常简单方便,这些转换动作不会修改原始数组, ~~~ 而是产生一个全新的数组。 ~~~ 任务:将数组中偶数元素加倍,奇数元素丢弃 ### 编程示例 val arr = (1 to 10).toArray # -- 使用for推导式。 阅读全文

posted @ 2022-04-11 19:42 yanqi_vip 阅读(27) 评论(0) 推荐(0)

|NO.Z.00025|——————————|BigDataEnd|——|Hadoop&Scala.V05|——|Scala.v05|数组元组|多维数组|

摘要: 一、多维数组 ### 多维数组 ~~~ 通过Array的ofDim方法来定义一个多维的数组,多少行,多少列,都是自己说了算。 ### 多维数组示例 ~~~ # 创建一个3行4列的二维数组 val dim = Array.ofDim[Double](3,4) dim(1)(1) = 11.11 for 阅读全文

posted @ 2022-04-11 19:42 yanqi_vip 阅读(11) 评论(0) 推荐(0)

|NO.Z.00022|——————————|BigDataEnd|——|Hadoop&Scala.V02|——|Scala.v02|数组元组|变长数组|

摘要: 一、变长数组 ### 变长数组 ~~~ 长度按需要变换的数组ArrayBuffer。 ~~~ Scala 中很多数组类型都有可变、不可变两个版本, ~~~ 推荐使用不可变的数组类型,使用可变数组类型时需要显示声明; ~~~ 使用ArrayBuffer时,需要导包 import scala.colle 阅读全文

posted @ 2022-04-11 19:41 yanqi_vip 阅读(24) 评论(0) 推荐(0)

|NO.Z.00023|——————————|BigDataEnd|——|Hadoop&Scala.V03|——|Scala.v03|数组元组|数组操作|

摘要: 一、数组操作 ### 数组转换 ~~~ Array <==> BufferArray定长数组与变长数组转换 ~~~ toArray,变长数组转换为定长数组 val array: Array[Int]=nums.toArray ~~~ toBuffer,定长数组转换为变长数组 val arrayBuf 阅读全文

posted @ 2022-04-11 19:41 yanqi_vip 阅读(25) 评论(0) 推荐(0)

|NO.Z.00021|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|数组元组|数组定义|

摘要: 一、数组定义 ### 数组定义 ~~~ 数组几乎是所有语言中最基础的数据结构。数组可索引、类型一致、长度不变。 ### 编程示例 ~~~ # 长度为10的整型数组,初始值为0 val nums = new Array[Int](10) ~~~ # 使用()访问数据元素;下标从0开始 nums(9) 阅读全文

posted @ 2022-04-11 19:40 yanqi_vip 阅读(21) 评论(0) 推荐(0)

|NO.Z.00020|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-11 19:40 yanqi_vip 阅读(11) 评论(0) 推荐(0)

|NO.Z.00018|——————————|BigDataEnd|——|Hadoop&Scala.V05|——|Scala.v05|Scala函数|懒值|

摘要: 一、懒值 ### 懒值 ~~~ 当 val 被声明为lazy时(var不能声明为lazy), ~~~ 它的初始化将被推迟,直到首次对此取值,适用于初始化开销较大的场景。 ### 编程示例 ~~~ 先打印OK!,才报错 ~~~ # 语句立刻执行,发现文件不存在,报错 val file1 = scala 阅读全文

posted @ 2022-04-11 19:39 yanqi_vip 阅读(17) 评论(0) 推荐(0)

|NO.Z.00019|——————————|BigDataEnd|——|Hadoop&Scala.V06|——|Scala.v06|Scala函数|文件操作|

摘要: 一、文件操作 ### 导入scala.io.Source后,可引用Source中的方法读取文本文件的内容 ~~~ 如果要将文件内容转数组,直接调用toArray。 import scala.io.{BufferedSource, Source} object FileDemo { def main( 阅读全文

posted @ 2022-04-11 19:39 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&Scala.V04|——|Scala.v04|Scala函数|函数|

摘要: 一、函数 ### 函数 ~~~ 函数体中最后一句为返回值的话,可以将return 去掉; ~~~ 如果一个函数体只有一句代码,大括号可以去掉; ~~~ 如果一个函数没有返回值,其返回类型为Unit , 并且 “=” 号可以去掉,这样的函数被称为过程; ~~~ 可以不声明函数的返回类型,返回类型可通过 阅读全文

posted @ 2022-04-11 19:38 yanqi_vip 阅读(30) 评论(0) 推荐(0)

|NO.Z.00015|——————————|BigDataEnd|——|Hadoop&Scala.V02|——|Scala.v02|Scala函数|for表达式|

摘要: 一、for 表达式 ### for表达式 ~~~ Scala中,for循环语法结构:for (i <- 表达式 / 集合),让变量 i遍历<-右边的表达式/集合的所有值。 ~~~ Scala为for循环提供了很多的特性,这些特性被称之为 for守卫式 或 for推导式。 ### 编程示例 ~~~ # 阅读全文

posted @ 2022-04-11 19:37 yanqi_vip 阅读(27) 评论(0) 推荐(0)

|NO.Z.00016|——————————|BigDataEnd|——|Hadoop&Scala.V03|——|Scala.v03|Scala函数|where表达式|

摘要: 一、while 表达式 ### while表达式 ~~~ Scala提供了与 Java 类似的while和do...while循环。 ~~~ while语句的本身没有任何返回值类型,即while语句的返回结果是Unit类型的 () 。 ~~~ Scala内置控制结构特地去掉了 break 和 con 阅读全文

posted @ 2022-04-11 19:37 yanqi_vip 阅读(15) 评论(0) 推荐(0)

|NO.Z.00014|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|Scala函数|if表达式|

摘要: 一、if 表达式 ### if表达式 ~~~ Scala中 if 表达式有返回值。 ~~~ 如果if 和 else 的返回值类型不一样,那么就返回两个返回值类型公共的父类。 ### 编程示例 ~~~ # if 语句有返回值 val x = 10 val s = if (x > 0) 1 else - 阅读全文

posted @ 2022-04-11 19:36 yanqi_vip 阅读(28) 评论(0) 推荐(0)

|NO.Z.00012|——————————|BigDataEnd|——|Hadoop&Scala.V12|——|Scala.v12|Scala编程|对象相等性|

摘要: 一、对象相等性 ### Java 中可以 == 来比较基本类型和引用类型: ~~~ 对基本类型而言,比较的是值的相等性 ~~~ 对引用类型而言,比较的是引用相等性,即两个变量是否指向JVM堆上的同个对象 ### Scala中,要比较两个基础类型的对象是否相等,可以使用 == 或 !=; 1 == 1 阅读全文

posted @ 2022-04-11 19:35 yanqi_vip 阅读(25) 评论(0) 推荐(0)

|NO.Z.00013|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-11 19:35 yanqi_vip 阅读(10) 评论(0) 推荐(0)

|NO.Z.00011|——————————|BigDataEnd|——|Hadoop&Scala.V11|——|Scala.v11|Scala编程|字符串插值器|

摘要: 一、字符串插值器 ### Scala 提供了三种字符串插值器: ~~~ s 插值器,对内嵌的每个表达式求值,对求值结果调用toString,替换掉字面量中的那些表达式 ~~~ f 插值器,它除s插值器的功能外,还能进行格式化输出,在变量后用%指定输出格式,使用java.util.Formatter中 阅读全文

posted @ 2022-04-11 19:34 yanqi_vip 阅读(27) 评论(0) 推荐(0)

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 69 下一页

导航