今天我们学习一下scala中的列表,List。通过源码,我们可以发现,List类型是协变的,所以我们可以把Int类型的List赋值给Any型的List。我们可以看到,List定义下有3个比较重要的方法,isEmpty,head,tailisEmpty,判断列表是否为空;head为List的第一个元素...
分类:
其他好文 时间:
2015-08-11 00:10:58
阅读次数:
190
今天来学习一下scala中List的构造和类型约束等内容。让我们来看一下代码package scala.learn/*** @author zhang*/abstract class Big_Dataclass Hadoop extends Big_Dataclass Spark extends B...
分类:
其他好文 时间:
2015-08-10 23:50:41
阅读次数:
148
本节主要内容
协变
逆变
类型通匹符
1. 协变
协变定义形式如:trait List[+T] {} 。当类型S是类型A的子类型时,则List[S]也可以认为是List[A}的子类型,即List[S]可以泛化为List[A]。也就是被参数化类型的泛化方向与参数类型的方向是一致的,所以称为协变(covariance)。
为方便大家理解,我们先分析java语言中为什么不存在协变及下一...
分类:
其他好文 时间:
2015-08-09 17:13:54
阅读次数:
186
DT大数据梦工厂 第81讲http://yun.baidu.com/s/1uLFye本节王老师讲了list的逆变,协变,下界。abstaract class Big_Dataclass Hadoop extends Big_Data//一种 类型class Spark extends Big_Dat...
分类:
其他好文 时间:
2015-08-09 00:14:41
阅读次数:
209
学习了Scala中List的构造是的类型约束逆变、协变、下界详解,列表中用::加入父类的对象,列表会协变为父类,例子如下:Def::[B>:A](x:B):List(B)=Newscala:collection.imutable.::(x,this)王家林亲授《DT大数据梦工厂》大数据实战视频“Sc...
分类:
其他好文 时间:
2015-08-08 10:18:02
阅读次数:
203
王家林亲授《DT大数据梦工厂》大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2U...
分类:
其他好文 时间:
2015-08-06 00:15:00
阅读次数:
179
Spark知识掌握
第一阶段
要熟练掌握Scala的trait、apply、函数式编程、泛型、逆变与协变等;
第二阶段: 精通Spark平台本身提供给开发者API
1,掌握Spark中面向RDD的开发模式,掌握各种transformation和action函数的使用;
2,掌握Spark中的宽依赖和窄依赖以及lineage机制;
3,掌握RDD的计算流...
分类:
其他好文 时间:
2015-08-04 17:16:17
阅读次数:
140
Scala中的协变(+),逆变(-),上界(<:),下界(>:) 对于一个带类型参数的类型,比如 List[T],如果对A及其子类型B,满足 List[B]也符合 List[A]的子类型,那么就称为covariance(协变)?,如果 List[A]是 List[B]的子...
分类:
其他好文 时间:
2015-08-02 16:56:33
阅读次数:
131
前言关于协变和逆变已经有很多园友谈论过了,学习时也参考过园友们的文章,非常之到位!尤其是园友LoveJenny的,参看时自己也有敲代码加理解,但是出现一个问题,甚是不解,请看下面。【注】这个问题可能对您而言很简单,若有解释,请告知,在此感谢。高手绕道!既然是标题是协变和逆变,还是先给个公认的msdn...
分类:
其他好文 时间:
2015-08-02 16:25:51
阅读次数:
104
协变和抗变指对参数和返回值的类型进行转换。如果泛型类型用out关键字标注,泛型接口就是协变的。 这也意味着返回类型只能是T。接口Index与类型T是协变的,并从一个只读索引器中返回这个类型;public interface IIndex{ T thisIint index{get; } ...
分类:
其他好文 时间:
2015-08-01 23:19:18
阅读次数:
135