Scala
Scala笔记
风吹我亦散
这个作者很懒,什么都没留下…
展开
-
【Scala】map,filter,flatMap函数详解
Scala中的map,filter,flatMap函数分析,是Scala的重点部分原创 2020-10-04 16:38:28 · 1415 阅读 · 1 评论 -
【Scala】_ 和 => 的用法
Scala中 _ 和 => 的用法原创 2020-10-04 10:29:28 · 452 阅读 · 0 评论 -
【Scala】镜像网站下载,速度直接起飞
Scala镜像网站下载,下载速度快到飞起原创 2020-10-03 18:04:53 · 4118 阅读 · 1 评论 -
Scala 上下文界定
基本介绍与 view bounds 一样 context bounds(上下文界定)也是隐式参数的语法糖。为语法上的方便, 引入了”上下文界定”这个概念就是设置一个隐式值,到时候会自动匹配案例:上下文界定应用实例要求:使用上下文界定+隐式参数的方式,比较两个Person对象的年龄大小要求:使用Ordering实现比较代码:package Contextboundsobject ContextBounds { //定义了一个隐式值 类型是:Ordering[Person]原创 2020-05-27 23:20:33 · 651 阅读 · 1 评论 -
Scala 上下界,视图界定
上界(Upper Bounds)java中上界在 Java 泛型里表示某个类型T是 A 类型的子类型,使用 extends 关键字,这种形式叫 upper bounds(上限或上界),语法如下:<T extends A>或用通配符的形式:<? extends A>scala中上界在 scala 里表示某个类型T是 A 类型的子类型,也称上界或上限,使用 <: 关键字,语法如下:[T <: A]或用通配符:[_ <: A]scala中上界原创 2020-05-27 21:58:27 · 423 阅读 · 0 评论 -
Scala 观察者模式
看一个项目需求气象站项目,具体要求如下:1)气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站)。2)需要设计开放型API,便于其他第三方公司也能接入气象站获取数据。3)提供温度、气压和湿度的接口4)测量数据更新时,要能实时的通知给第三方WeatherData类通过对气象站项目的分析,我们可以初步设计出一个WeatherData类说明:1)通过getXxx方法,可以让第三方公司接入,并得到相关信息.2)当数据有更新时,气象站通过调用dataChang原创 2020-05-27 19:30:32 · 267 阅读 · 0 评论 -
Scala 单例模式
之前听过单例模式,但是一直不知道单例模式是什么意思下面记了两个例子,还是比较模糊,等有时间完善一下单例模式单例模式是指:保证在整个的软件系统中,某个类只能存在一个对象实例单例模式的应用案例Scala中没有静态的概念,所以为了实现Java中单例模式的功能,可以直接采用类对象(即伴生对象)方式构建单例对象懒汉式案例:创建一个实例前要先判断是否为空,若为空则创建,不为空则直接返回底层代码:饿汉式案例:不管实例是否为空,直接返回底层代码:...原创 2020-05-27 13:30:53 · 1162 阅读 · 0 评论 -
Scala 工厂模式
学习设计模式的必要性1)面试会被问,所以必须学2)读源码时看到别人在用,尤其是一些框架大量使用到设计模式,不学看不懂源码为什么这样写,比如Runtime的单例模式.3)设计模式能让专业人之间交流方便4)提高代码的易维护5)设计模式是编程经验的总结,我的理解:即通用的编程应用场景的模式化,套路化(站在软件设计层面思考)。以单例模式说明掌握设计模式的层次第1层:刚开始学编程不久,听说过什么是设计模式第2层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道第3层:原创 2020-05-27 13:05:01 · 591 阅读 · 0 评论 -
Scala --简单项目设计--客户信息管理软件
项目需求分析模拟实现基于文本界面的《客户信息管理软件》。该软件scala能够实现对客户对象的插入,修改,删除,显示,查询(用ArrayBuffer或者ListBuffer实现),并能够打印客户明细表。主界面:添加客户:修改客户:删除客户:客户列表:建包:下面开始:编写 Customer 类显示主菜单和完成退出软件功能:在view 包中建类:CustomerView在app 包中建立Object CustomerCrm显示客户列表:1.编写一个方法,返回当前系统原创 2020-05-26 14:51:00 · 3714 阅读 · 0 评论 -
Scala--递归
Scala 大量涉及递归的思想转载 2020-05-25 22:16:34 · 677 阅读 · 0 评论 -
Scala 函数式高级编程
偏函数(partial function)小题目引出偏函数:给你一个集合val list = List(1, 2, 3, 4, “abc”) ,请完成如下要求:将集合list中的所有数字+1,并返回一个新的集合要求忽略掉 非数字 的元素,即返回的 新的集合 形式为 (2, 3, 4, 5)方法一:filter 过滤, map 转换, map + 1可以解决,稍显麻烦方法二:模式匹配输出结果略有瑕疵方法三:偏函数基本介绍1)在对符合某个条件,而不是所有情况进行逻辑操作时,使用偏函数是原创 2020-05-25 16:36:03 · 388 阅读 · 0 评论 -
Scala--模式匹配
Scala 中模式匹配类似于 Java 中的 switch,但是更加强大模式匹配语法中,采用match 关键字声明,每个分支采用case 关键字声明需要匹配时,会从第一个case 分支开始,如果匹配成功,那么执行对应的逻辑代码。如果匹配不成功,继续执行下一个分支继续进行判断,如果所有case 都不匹配,则会执行case _ 分支,类似与Java 中的default 语句match的细节和注意事项1)如果所有case都不匹配,那么会执行case _ 分支,类似于Java中default语句2原创 2020-05-24 21:34:36 · 600 阅读 · 0 评论 -
Scala View视图
view 方法对集合应用可以使集合就有懒加载的特性。具有以下特点:1)view方法产出一个总是被懒执行的集合。2)view不会缓存数据,每次都要重新计算,比如遍历View时。下面看一个案例:求出1~100中倒叙和本身相同的相同数字常规方法:使用 view...原创 2020-05-22 14:50:33 · 480 阅读 · 0 评论 -
Scala 实现 WordCount
Scala 不得不说非常灵活方便,只是语法相较Java比较复杂下面看一下Scala 如何实现 wordcount原创 2020-05-26 20:51:19 · 990 阅读 · 0 评论 -
Scala--高阶函数
Scala 中可以将函数作为一个变量下面看一个高阶函数的案例原创 2020-05-21 14:09:47 · 202 阅读 · 0 评论 -
Scala 中操作符重载
操作符的重载我理解为就是在类中以 操作符 定义个方法创建类的实例后,实例就可以直接对这个方法,即操作符直接操作原创 2020-05-20 14:09:51 · 357 阅读 · 0 评论 -
Scala--集合基础
Scala 中集合的基本介绍1)Scala 同时支持 不可变集合 和 可变集合 ,不可变集合可以安全的并发访问2)两个主要的包:scala.collection.immutable (不可变集合)scala.collection.mutable (可变集合)3)Scala 默认采用不可变集合,对于几乎所有的集合类,Scala 都同时提供了可变(mutable)和不可变(immutable)的版本4)Scala 的集合有三大类:序列 Seq集 Set映射 Map所有的集合类都扩展自 I原创 2020-05-20 23:15:33 · 283 阅读 · 0 评论 -
Scala--隐式转换和隐式值--笔记
隐式转换一个小问题:先看一段代码从高精度向低精度转换,出错隐式转换函数是以 implicit 关键字声明的带有单个参数的函数,这种函数将会自动应用,将值从一种类型转换为另一种类型,要注意需要有返回类型和返回值小案例:源码:隐式转换的注意事项:1)隐式转换函数的函数名可以任意,隐式转换与函数名无关,只与函数签名(签名即函数参数类型和返回值类型)有关2)隐式转换函数可以有多个,但匹配只能是唯一的可以有多个函数指:可以有将double 型转换成 Int ,Float 转换为 Int 这原创 2020-05-19 13:04:33 · 210 阅读 · 0 评论 -
Scala--静态,接口,特质,嵌套
静态属性和静态方法思考:有一群小孩子在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩? 请使用面向对象的思想编写程序解决问题。注意,这里是使用面向对象的思想解决问题。我第一眼看题目感觉很容易,觉得定义一个方法,来一个孩子,数量 +1 。但是这并不是面向对象的思想Java 中的静态概念public static 返回值类型 方法名(参数列表){ 方法体}说明:Java 中静态方法并不是通过对象调用的,而是通过类对象调用的,所以静态操作并不是面向对象的。Scala 中静态的原创 2020-05-18 23:59:04 · 619 阅读 · 1 评论 -
Scala--继承--笔记
Scala中继承的相关问题包括子类继承Java的动态绑定机制重写方法Scala中超类的构造覆写字段抽象类匿名子类继承层次原创 2020-05-16 20:52:38 · 305 阅读 · 0 评论 -
Scala--包--笔记
Scala中将包的提升到了很高的地位,而Java中比较简单1. Scala中包名和源码所在的文件目录结构可以不一致,但是编译后的字节码文件路径和包名会保持一致(工作由编译器完成)2. Scala中,自动引入的包有:1)lang2)scala3)Predef3. 打包方式package com.ah{ package scala{ calss Person{ ...... } }}这样可以在一个文件中同时创建多个包,以及给各个包创建类注:路径*idea project\原创 2020-05-14 10:45:40 · 163 阅读 · 0 评论 -
Scala--构造器--笔记
Scala的构造器和Java类似,但是语法上有不同原创 2020-05-13 19:35:21 · 709 阅读 · 0 评论 -
【Scala】基础笔记
Scala中一些基础知识的笔记原创 2020-05-13 13:40:25 · 222 阅读 · 0 评论