Scala

Spark基础-scala学习(五、集合)

scala的集合体系结构 List LinkedList Set 集合的函数式编程 函数式编程综合案例:统计多个文本内的单词总数 scala的集合体系结构 scala中的集合体系主要包括:Iterable、Seq、Set、Map。其中Iterable是所有集合trait的根trait。这个结构与java的集合体系非常相似 scala中的集合是分成可变和不可变两类集合的,其中可变集合就是说,集合 »

Scala Option 从官方DOC解析

Represents optional values. Instances of Option are either an instance of scala.Some or the object None.Option类代表可选的值。Option的实例要么是Some的实例,要么是None的实例。   The most idiomatic way to use an scala.Option in »

Scala模式匹配| 隐式转换

 1. 模式匹配 Scala中的模式匹配类似于Java中的switch语法,但是更加强大。模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有case都不匹配,那么会执行case _ 分支,类似于Java中default语句。 match的细 »

详解scala中的偏函数(转载)

1. 偏函数 偏函数(Partial Function),是一个数学概念它不是"函数"的一种, 它跟函数是平行的概念。 Scala中的Partia Function是一个Trait,其的类型为PartialFunction[A,B],其中接收一个类型为A的参数,返回一个类型为B的结果。 举个例子 scala> val pf:PartialFunction[Int,String] = { »

scala wordcount

一.不使用spark 1 package cn.scala_base.collection 2 import scala.io.Source.fromFile; 3 import scala.io.Source 4 import scala.collection.mutable.Map 5 6 /** 7 * 借助scala实现wordcount 8 */ 9 objec »

Scala之Calendar,SimpleDateFormat简单用法

1 package com.dingxin.entrance 2 3 import java.text.SimpleDateFormat 4 import java.util.{Calendar, Date} 5 6 /** 7 * Created by zhen on 2019/1/16. 8 */ 9 object SimpleDateFormatTest { 10 »

The first glance at Scala

 这也是从SolidMCP@Baidu搬家而来: The first glance at Scala   Piaoger当年学Python,花了一晚,对照一简明教程了解基本语法,为防止忘记,整理一个The first glance at Python,忘记怎么写了,可以随时参考。之于Scala,自然也就有了Thefirst glance at Scala。 大概的去年的这个时候开始接触SaaS, »

scala学习手记28 - Execute Around模式

我们访问资源需要关注对资源的锁定、对资源的申请和释放,还有考虑可能遇到的各种异常。这些事项本身与代码的逻辑操作无关,但我们不能遗漏。也就是说进入方法时获取资源,退出方法时释放资源。这种处理就进入了Execute Around模式的范畴。 在scala里可以用函数值实现这种模式。下面是一个示例,使用Resource类演示了事务的开启和释放: class Resource private() { »

Scala 学习笔记之函数(3)

class student{ def sayHello(name: => String){ println(s"Hello, $name, welcome $name") } } object FunctionDemo3 { def main(args: Array[String]): Unit = { val s = new student() de »

Scala教程

Scala表示可扩展性语言,是一种混合函数式编程语言。它是由Martin Odersky创建,并于2003年首次发布。 Scala平滑地集成面向对象和函数式语言的特点,并且Scala被编译在Java虚拟机上运行。许多现有的企业依赖于Java的关键业务应用,正在转向Scala以提高他们的开发效率,应用程序的可扩展性和整体可靠性。 下面是Scala应用开发者首选的重要特征列表。 Scala是面向对象: »

scala学习手记22 - 参数化类型的可变性

java 的代码中多少有些不是很严谨的内容,比如下面的这段代码: public class Trouble { public static void main(String[] args) { Integer[] arr1 = new Integer[2]; arr1[0] = new Integer(1); Object[] arr2 = »

Scala模式匹配和样例类

Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句、类型检查等。并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。 1、字符匹配     def main(args: Array[String]): Unit = {       val charStr = '6'       charStr match { »

关于scala当中的闭包

最近遇到别人问我关于scala的闭包,之前只知道js当中的闭包,但是scala听的不是很多,于是就个人的一点心得记录一下: 所谓的闭包就是  闭包就是一个函数,返回值依赖于声明在函数外部的一个或者多个变量;   在这里定义了一个函数sum,做累加和但是定义的变量y,这里报错。 所以这里需要定义一个全局的y变量才能操作这个函数。 定义一个全局变量。然后这个函数就不再报错。然后可以对函数进行操作,这 »

scala学习手记4 - Java基本类型对应的scala类

在Java中变量类型分为两大类:基本类型和引用类型。虽然在JDK1.5以后引入了自动装箱和自动拆箱机制,大大减少了我们在直接类型和引用类型之间的纠结,但仍有一些我们不得不考虑的问题。比如我在工作遇到的基本类型和其包装类型的默认值的问题,比如泛型只能使用引用类型,比如默认情况下直接类型的值不能作为对象来操作(1.toString()就不能通过编译)等等。 在scala中一切都是对象。 在scala中 »

Scala并发编程【快速入门】

1.简介   Scala的actor提供了一种基于事件的轻量级线程。只要使用scala.actors.Actor伴生对象的actor()方法,就可以创建一个actor。它接受一个函数值/闭包做参数,一创建好就开始运行。用!()方法给actor发消息,用receive()方法从actor接收消息。receive()也可以闭包为参数,通常用模式匹配处理接收到的消息。   scala提供了一种完全有别于 »

Scala 运算符宝典

传送门https://blog.csdn.net/z1941563559/article/details/88751099?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogC »

Scala学习笔记(一):运行

一、常规方式   在某个目录(如:F:\)下新建一个文本文件,命名为:hello.scala 其内容为: println("Hello World!")   那么这个时候该怎么运行这个文件呢?   通过Windows的命令行窗口进入到Scala的安装目录下的bin目录下 输入“scala F:\hello.scala”,然后回车即可正确运行   二、脚本文件方式   可以把 Scala 代码作 »

Scala学习笔记

1 闭包 var a = 3 var addfun = (x:Int) => x + a var b = addfun(10) println(b)    addfun 就是个和对象无关的函数,局部变量,使用方法和函数一样,但是好像不推荐这种写法。2 类的创建,简单使用 abstract class BParent{ def testove »