Scala
文章平均质量分 91
小唐同学爱学习
Be all you can be!保持学习,持续前行!
展开
-
Scala之模式匹配与隐式转换
当编译器第一次编译失败的时候,会在当前的环境中查找能让代码编译通过的方法,用于将类型进行转换,实现二次编译。原创 2023-04-26 19:29:53 · 1358 阅读 · 19 评论 -
Scala之集合(3)
总结:上述方法理解简单,但是比较消耗内存 当每个字符串的次数较大时 是非常消耗内存的,消耗时间。现在的集合是Map集合,需要排序所以要转换成List再调用排序函数(sortBy方法)方法3是在我们分组的基础之上对value进行调用归约函数,直接对value进行累加。在集合的后边加上.par后 变成了并行集合 使用多线程打印(同时也是乱序的)(2)将集合中方法都改变结构变成二元组(value=1)(1)对集合进行切割并且转换成元组(key,value)(2)对现在的二元组进行分组(相同的key)原创 2023-04-24 17:13:13 · 1324 阅读 · 26 评论 -
Scala之集合(2)
按照单词出现的次数排序:这样是需要自定义的 调用sortBy()函数(By---什么方式)设置返回类型就是按照什么排序(匿名函数)按照单词出现的次数反转排序:通过sortBy()源码可知他是采用了柯里化写法(闭包---把上层变量定义成常量传给下一层)上述代码在第一次传入参数返回的是以Int类型的集合 在对他进行封装成常量传递给下层 所以 在柯里化的第二个()的时候在设置类型的时候要设置Int类型。原创 2023-04-22 11:48:38 · 1638 阅读 · 30 评论 -
Scala之集合(1)
不可变集合:set集合特点:无序,不重复对set集合无序的理解:set集合的无序是指在使用append等方法给集合添加元素的时候所添加的元素的顺序是不可预测的,并且不能按照添加顺序进行遍历(存储位置是不一定的)Set集合的无序性是由它的实现方式所决定的。通常,Set集合的实现方式采用了哈希表这种数据结构,其中元素被散列到桶中,不同的元素可能被散列到同一个桶中,因此添加的顺序不能保证元素的顺序。set集合提供了SortedSet集合是有序的(放入2,3,1,4会按照1,2,3,4进行存储)SortedSet写原创 2023-04-18 16:46:38 · 1584 阅读 · 18 评论 -
Scala之面向对象(2)
Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概 念)。但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象 来模拟类对象,该对象为单例对象。若单例对象名与类名一致,则称该单例对象这个类的伴 生对象,这个类的所有“静态”内容都可以放置在它的伴生对象中声明。原创 2023-04-14 20:20:23 · 1361 阅读 · 21 评论 -
Scala之面向对象
导包是不支持嵌套的(导包后只能用它下边的类和对象,不能再用它下边的包,如果想使用它下边包中的方法,就需要使用 . 但是当我们导包直接导入它下边的包 就可以直接调用,不需要用 . 来使用)在Scala中包也是面向对象的,只要在包的内部(只要在内部都可以,内层的嵌套也可以),都可以直接调用包对象的属性和方法。如果包有嵌套,会出现覆盖的情况,则会调用距离最近的包的属性与方法(包距离最近则会后调用,会覆盖先前调用的)当类很多时,可以很好的管理类。下图是我在类下边建的包,和正常的包一样使用。原创 2023-04-11 20:15:41 · 1365 阅读 · 13 评论 -
Scala之函数式编程
方法--是在类中表示(面向对象)-----伴生对象中的方法(相当于静态方法) 或者在伴生类中定义方法。(4)如果(所有)参数(都)只出现一次,则参数省略且后面参数可以用_代替(但是只剩下_是避不可以的)函数是支持嵌套的但是并不支持函数的重载和重写(重载和重写是针对的类中的方法而言)(7)如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加。(8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略。)返回值类型如果能够推断出来,那么可以省略(和返回值类型一起省略)原创 2023-04-09 19:38:54 · 3448 阅读 · 19 评论 -
Scala之基础入门
2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有 的Java类库,实现两种语言的无缝对接。4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥。只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,(多范式,就是多种编程方。原创 2023-04-06 19:37:14 · 527 阅读 · 3 评论