Scala最常用数据结构Map和Tuple解析
2017-12-24 12:48
197 查看
Map和Tuple是Scala中还是Spark中是使用最频繁、最常用的数据集合:
Map特点:
1、默认情况下通过Map构建的集合是不可变的,里面的数据不可修改,一旦修改则会产生新的Map,而原有的Map保持不变,这是和Java中Map一个很大的区别
2、Map的实例是通过调用工厂模式apply方法来构建的, 而需要注意的是Map是接口,在apply中使用了具体的实现类,及如果想实例化Map对象需要使用HashMap等具体的子类
3、查询一个Map中的数据一定是采用getOrElse的语法的,一方面是保证key不存在时不报异常,另一方面神奇的作用就是使用默认值(而关于默认值在实际开发中非常重要,在Spark中很多默认配置都是通过getOrElse来实现的)
4、LinkedHashMap可以记住插入数据的顺序(这在实际开发中非常重要)
Tuple特点
1、Tuple中可以有很多不同类型的数据,例如:(“zhouqt”,“123”,555,“welcome to beijing”)
2、Tuple另外一个非常重要的作用就是可以作为函数的返回值,在Tuple中可以返回若干个值,以SparkContext源码为例:
注:
在企业级开发大数据中,一定反复使用Tuple来表达数据结构,以及使用Tuple来处理业务逻辑
Map特点:
1、默认情况下通过Map构建的集合是不可变的,里面的数据不可修改,一旦修改则会产生新的Map,而原有的Map保持不变,这是和Java中Map一个很大的区别
2、Map的实例是通过调用工厂模式apply方法来构建的, 而需要注意的是Map是接口,在apply中使用了具体的实现类,及如果想实例化Map对象需要使用HashMap等具体的子类
3、查询一个Map中的数据一定是采用getOrElse的语法的,一方面是保证key不存在时不报异常,另一方面神奇的作用就是使用默认值(而关于默认值在实际开发中非常重要,在Spark中很多默认配置都是通过getOrElse来实现的)
4、LinkedHashMap可以记住插入数据的顺序(这在实际开发中非常重要)
Tuple特点
1、Tuple中可以有很多不同类型的数据,例如:(“zhouqt”,“123”,555,“welcome to beijing”)
2、Tuple另外一个非常重要的作用就是可以作为函数的返回值,在Tuple中可以返回若干个值,以SparkContext源码为例:
注:
在企业级开发大数据中,一定反复使用Tuple来表达数据结构,以及使用Tuple来处理业务逻辑
相关文章推荐
- Scala中最常用数据结构Map和Tuple
- 大数据Spark “蘑菇云”行动前传第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码解析
- 第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏
- Dt大数据梦工厂王家林老师 Scala实战详解之第6讲 Map、Tuple、Zip实战解析
- 第8节:scala常用集合Map和Tuple
- Scala 深入浅出实战经典 第6讲:Map、Tuple、Zip实战解析
- Scala学习笔记09【Map、Tuple、Zip常用操作实战】
- Scala学习第六天 Map、Tuple、Zip实战解析
- Scala学习第六天 Map、Tuple、Zip实战解析
- Scala入门到精通——第四节 Set、Map、Tuple、队列操作实战
- android binder机制及其源码解析 之第二节重要函数讲解之常用数据结构(一)
- Scala基础教程--4 Map和Tuple
- Java中常用数据结构的实现类 Collection和Map
- Scala教程(五)Map、Tuple、Zip实战
- Scala学习笔记04_Map与Tuple
- 数据结构Map-----HashMap源码解析
- [原创]Scala学习:Tuple,Array,Map ,文件操作
- Scala : Tuple、Array、Map、文件操作
- 006-Map、Tuple、Zip实战解析
- Dream------scala--Tuple、Array、Map与文件操作