
scala
文章平均质量分 50
但行益事莫问前程
大数据研发, 开发flink实时流
展开
-
scala 并行集合、并行并发、线程安全问题、ThreadLocal
ThreadLocal中填充的变量属于当前线程,对其他线程而言是隔离的。ThreadLocal。Scala提供并行集合,用于多核环境的并行计算,充分使用多核CPU。,每个线程访问自己内部的副本变量。因此不存在线程安全问题。所导致的数据冲突问题。...原创 2022-08-02 16:46:41 · 1015 阅读 · 0 评论 -
scala reduce、reduceLeft 、reduceRight 、fold、foldLeft 、foldRight
如sum函数统计List中所有元素的和;在scala底层采用两两聚合,聚合结果的类型与reduce方法的返回值类型相同。如合并2个map并key相同的求和。,集合遍历的方向是从右到左。,对集合中的元素执行算子。,对集合中的元素执行算子。fold函数的本质是。第一个参数表示初始值。...原创 2022-08-02 14:44:39 · 475 阅读 · 0 评论 -
scala 转换、过滤、分组、排序
1)为集合中元素,添加前缀Int)=>{(2)flatMap()扁平化。原创 2022-07-28 11:03:47 · 20721 阅读 · 0 评论 -
scala 不可变Map 、 可变Map 、Map转换为其他数据类型
scala中Map是一种可迭代的键值对(key/value)结构。所有的值都可以通过键来获取。Map中的键都是唯一的。原创 2022-07-26 07:42:14 · 1107 阅读 · 0 评论 -
scala 函数&方法、函数&方法的实现原理
可以赋值给一个变量。scala中的方法跟Java类似,方法是组成类的一部分。scala中的函数则是一个完整的对象。类中的方法可以重载和重写,而函数没有重载和重写的概念,但是函数可嵌套使用。(3)所谓的方法,就是类中方法,无需进行任何改变。把上诉scala代码(main函数内部的。(1)所谓的函数,就是在对象中生成。(2)所谓的嵌套函数,实际上是。嵌套函数test()方法,并自动增加后缀。...原创 2022-07-19 17:20:48 · 52713 阅读 · 0 评论 -
scala Breaks.break()、Breaks.breakable()、控制抽象
然而一旦抛出异常,逻辑无法继续执行,需要结合。scala中,函数作为参数,且无参无返回值。scala中没有break关键字,采用。注函数的参数列表,如果是。查看breakable源码。则可以传递代码逻辑,这种。跳出循环,实现原理是。抛出异常改变逻辑顺序。...原创 2022-07-19 15:33:48 · 52772 阅读 · 0 评论 -
scala Object关键字声明的类直接调用方法、伴生对象
静态语法不是面向对象的,所以scala中没有静态语法,为了和java兼容,所以。使用Object关键字声明的类,如Student,可。Object声明的类中伴随着类所产生的单例对象。Student,会产生2个类文件,一个就是。可以返回对象,而这个对象只有一个,称之为。,无法直接构建对象,在类的内部通过。通过类名直接访问方法。实际使用的是单例对象。...原创 2022-07-15 15:46:38 · 52900 阅读 · 0 评论 -
scala for循环 (循环守卫、 循环步长、循环嵌套 、引入变量、循环返回值、循环中断 Breaks)
scala所有的表达式都是有返回值的,但是返回值并不一定都是有值的,循环时可以增加条件来决定是否继续循环体的执行(建议第二种方式),yield关键字会把每次循环结果放置在一个新的结果中。若需要将for循环的结果作为返回值使用,需要采用。提供2种循环嵌套的方式(建议第二种方式)scala的集合可设定循环的增长幅度。......原创 2022-07-15 14:12:54 · 75385 阅读 · 0 评论 -
scala 分支控制 (单分支、双分支、多分支)、 分支判断的返回值
输入年龄,如果年龄小于18岁,则输出“童年”。如果年龄大于等于18且小于等于30,则输出“青年”,如果年龄大于30小于等于50,则输出”中年”,否则,输出“老年”scala中如果逻辑代码只有一行,花括号可省略,若需要三元运算符,可使用。(1)下面代码中的变量result类型为Any类型,用于匹配不同分支的执行结果。,需要在执行之前将数据类型确定,编译器在编译时就会考虑多种情况下的通用方案。(2)下面代码中的变量result类型为String类型。视为一个整体,返回值为Unit,被赋予变量b。...原创 2022-07-15 10:43:26 · 53118 阅读 · 0 评论 -
scala java中==和equals (String比较) 、 scala中==和equals、eq (String比较)
java中字符串双等号比较值(引用的内存地址)是否相同;重写equals方法,比较的是 java中的,,如果2个值需要比较,只能采用双等号运算符。而Scala完全面向对象,因此都采用的方式比较对象,但是scala为了兼容其他语言,仍然保留双等号的功能,但是比较方式发生改变。如果使用双等号进行数据的比较,首先进行,然后比较。如果需要,使用注: 运算符编译scala为java代码后,如下所示...原创 2022-07-11 23:59:01 · 53493 阅读 · 0 评论 -
scala socket通信、client端发送数据为对象,server端接收对象数据
Scala进行socket 通信时,采用的是 java中的I/O类。如果需要在网络中传递对象,实际上传递对象所表示的字节码数据()java实体类client端在发送对象数据时,需要使用server端在接收对象时,需要使用...原创 2022-07-09 08:42:45 · 53163 阅读 · 0 评论 -
scala 字符串连接 、传值字符串、插值字符串、多行字符串(stripMargin修改顶格符)
在 Scala 中,字符串类型实际上就是 Java中的 String类,本身没有 String 类。String 是一个,修改字符串就会产生一个新的字符串对象。拼接字符串示例:printf实际调用java的示例:示例: 采用包含的字符串 ,可在stripMargin修改顶格符示例:...原创 2022-07-08 16:40:58 · 53741 阅读 · 0 评论 -
scala 语法声明、变量初始化、可变变量、不可变变量
变量是一种使用方便的占位符,用于引用计算机内存地址如注: 变量的类型如果可以,那么,Scala编译器2. 变量初始化 在Scala语法中注:如:打包后,反编译字节码文件发现在main方法中没有出现变量name的声明如: ,称之为可变变量,但是, Scala中可变变量如4. 不可变变量 ,称之为不可变变量。Scala中不可变变量使用关键字进行声明, 类似于Java语言中的final关键字......原创 2022-07-08 11:33:05 · 53615 阅读 · 0 评论