目录

1.数组 Array

1.1 创建数组

1.2 concat 方法

1.3 遍历和其他方法

1.4 定义可变数组:ArrayBuffer,第一个是后加,第二个是头加,第三个是追加多个

2.list

2.1 创建 list(不用 new List)

2.2 list遍历

2.3 list 方法举例

2.4 list方法总结

3.set

4.map

4.1 map 创建,map 中实际上是一个个的 tuple 二元组形式

4.2 获取 map 的值

4.3 遍历 map

4.4 遍历 key

4.5 遍历 value

4.6 合并 map

4.7 map 中的方法举例

5.元组


1.数组 Array

1.1 创建数组

/*** 创建二维数组和遍历*/val arr3 = new Array[Array[String]](3)arr3(0)=Array("1","2","3")arr3(1)=Array("4","5","6")arr3(2)=Array("7","8","9")for(i <- 0 until arr3.length){for(j <- 0 until arr3(i).length){print(arr3(i)(j)+" ")}println()}var count = 0for(arr <- arr3 ;i <- arr){if(count%3 == 0){println()}print(i+" ")count +=1}arr3.foreach { arr => {arr.foreach { println }}}val arr4 = Array[Array[Int]](Array(1,2,3),Array(4,5,6))arr4.foreach { arr => {arr.foreach(i => {println(i)})}}println("-------")for(arr <- arr4;i <- arr){println(i)}

创建两种方式:

/*** 创建数组两种方式:* 1.new Array[String](3)* 2.直接Array*///创建类型为Int 长度为3的数组val arr1 = new Array[Int](3)//创建String 类型的数组,直接赋值val arr2 = Array[String]("s100","s200","s300")//赋值arr1(0) = 100arr1(1) = 200arr1(2) = 300

1.2 concat 方法

1.3 遍历和其他方法

/*** 遍历两种方式*/for(i <- arr1){println(i)}arr1.foreach(i => {println(i)})for(s <- arr2){println(s)}arr2.foreach {x => println(x)}

1.4 定义可变数组:ArrayBuffer,第一个是后加,第二个是头加,第三个是追加多个

2.list

2.1 创建 list(不用 new List)

val list = List(1,2,3,4) ,也可以混着往里面写数据,都是不可变类型,修改里面 数据一般会返回一个新的 List

Nil 长度为 0 的 list

2.2 list遍历

2.3 list 方法举例

//创建val list = List(1,2,3,4,5)//遍历list.foreach { x => println(x)}
// list.foreach { println}//filterval list1 = list.filter { x => x>3 }list1.foreach { println}//countval value = list1.count { x => x>3 }println(value)//mapval nameList = List("hello bjsxt","hello xasxt","hello shsxt")val mapResult:List[Array[String]] = nameList.map{ x => x.split(" ") }mapResult.foreach{println}//flatmapval flatMapResult : List[String] = nameList.flatMap{ x => x.split(" ") }flatMapResult.foreach { println }

2.4 list方法总结

过滤:

可变 list ListBuffer

3.set

创建 set 注意:set 集合会自动去重

set 遍历 foreach,for

set 方法举例

set 方法总结

//创建val set1 = Set(1,2,3,4,4)val set2 = Set(1,2,5)//遍历//注意:set会自动去重set1.foreach { println}for(s <- set1){println(s)}println("*******")/*** 方法举例*///交集val set3 = set1.intersect(set2)set3.foreach{println}val set4 = set1.&(set2)set4.foreach{println}println("*******")//差集set1.diff(set2).foreach { println }set1.&~(set2).foreach { println }//子集set1.subsetOf(set2)//最大值println(set1.max)//最小值println(set1.min)println("****")//转成数组,listset1.toArray.foreach{println}println("****")set1.toList.foreach{println}//mkStringprintln(set1.mkString)println(set1.mkString("\t"))

可变长 set ,Set

4.map

4.1 map 创建,map 中实际上是一个个的 tuple 二元组形式

可变 map multable

4.2 获取 map 的值

4.3 遍历 map

for,foreach

//map遍历for(x <- map){println("====key:"+x._1+",value:"+x._2)}map.foreach(f => {println("key:"+ f._1+" ,value:"+f._2)})

4.4 遍历 key

4.5 遍历 value

4.6 合并 map

4.7 map 中的方法举例

filter:过滤,留下符合条件的记录

/*** map方法*///countval countResult = map.count(p => {p._2.equals("shsxt")})println(countResult)//filtermap.filter(_._2.equals("shsxt")).foreach(println)//containsprintln(map.contains(2))//existprintln(map.exists(f =>{f._2.equals("xasxt")}))

5.元组

3.1.5 spark体系之分布式计算-scala编程-scala中的集合(数组array、list、set、map、元组)相关推荐

  1. spark中读取json_【Spark】使用DataFrame读取复杂JSON中的嵌套数组

    众所周知,在早期Spark版本中就已经支持读取Json格式的数据文件,并能够直接转换为数据库表,以方便我们进行处理数据,在本篇文章中我们将介绍如何通过Spark API很简单地读取Json数据,并进一 ...

  2. scala编程_Scala编程语言简介

    scala编程 Scala is a programming language that integrates the object oriented and functional language ...

  3. Scala之——Scala容器库(Scala’s Collections Library)

    简介(Introduction) Martin Odersky和Lex Spoon 在许多人看来,新的集合框架是Scala 2.8中最显著的改进.此前Scala也有集合(实际上新框架大部分地兼容了旧框 ...

  4. Spark的枚举类型实例!scala的枚举。

    Spark的枚举类型实例!scala的枚举. Enumeration定义: [deploy] SparkSubmitAction {= Value= Value } Enumeration使用: ap ...

  5. 本地Spark连接远程集群Hive(Scala/Python)

    精选30+云产品,助力企业轻松上云!>>> 点击蓝色"大数据每日哔哔"关注我 加个"星标",第一时间获取大数据架构,实战经验 摘要:本地Spa ...

  6. 在Spark Scala/Java应用中调用Python脚本,会么?

    摘要:本文将介绍如何在 Spark scala 程序中调用 Python 脚本,Spark java程序调用的过程也大体相同. 本文分享自华为云社区<[Spark]如何在Spark Scala/ ...

  7. 教你如何在Spark Scala/Java应用中调用Python脚本

    摘要:本文将介绍如何在 Spark scala 程序中调用 Python 脚本,Spark java程序调用的过程也大体相同. 本文分享自华为云社区<[Spark]如何在Spark Scala/ ...

  8. Spark基础学习笔记10:Scala集成开发环境

    文章目录 零.本讲学习目标 一.搭建Scala的Eclipse开发环境 (一)安装Scala插件 (二)创建Scala项目 二.搭建Scala的IntelliJ IDEA开发环境 (一)启动IDEA ...

  9. Spark基础学习笔记08:Scala简介与安装

    文章目录 零.本讲学习目标 一.Scala简介 (一)Scala概述 (二)函数式编程 (三)Scala特性 1.一切都是对象 2.一切都是函数 3.一切都是表达式 (四)在线运行Scala 二.选择 ...

最新文章

  1. Multiple Spring Data modules found, entering strict repository configuration mode!
  2. Interview:算法岗位面试—上海某公司算法岗位技术(偏机器学习,证券基金行业)面试考点之进程与线程区别、GD改进的算法、ROC和AUC
  3. delphi dbgrid 焦点 行号_安庆东进北扩发展超乎想象,谁会成为城市新格局里的人居焦点?...
  4. python3android版_Android QPython3 简易 SL4A 服务:android.py
  5. 2021 最新 IDEA集成Gitee、Gitee迁移GitHub【图文讲解】
  6. 【MATLAB】求点到多边形的最短距离
  7. python debug run 结果不同_Python:PyCharm中运行与调试模式下的不同行为
  8. 18项医疗质量安全核心制度
  9. SDL Trados Studio 2019 免费Google机器翻译插件安装和使用
  10. vue连线 插件_使用jsPlumb插件实现动态连线功能
  11. fw313r手机登录_2017最新迅捷(FAST)fw313r路由器手机设置教程
  12. 四川大学计算机在线作业,四川大学计算机操作系统试题
  13. 无力吐槽,大乱炖吧 乱七芭蕉知识点 js基础
  14. C语言中对字符串的加密和解密
  15. 【UOJ #390】【UNR #3】百鸽笼(指数型生成函数,二项式定理)
  16. matlab simulink 磷酸铁锂电池仿真
  17. 关于用友T3 Automation错误(-2147024770)
  18. 驾驶员考试报名审批系统的设计与实现
  19. redis缓存手机验证码案例
  20. 安卓手机分辨率、尺寸、像素如何影响布局表现?

热门文章

  1. HRED+VHRED+AWI模型介绍
  2. JS 获取元素下指定的子元素
  3. T1056点和正方形的关系 (信息学一本通C++)
  4. 在「生机」与「升级」持续的化学反应之中,科技企业走向新生
  5. Golang 常见面试题目解析
  6. 如何自动截获输出到打印机的文本数据(转载)
  7. php array pluck,PHP 将回调函数作用到给定数组的单元上
  8. 并发编程:并发和并行、多进程、同步异步,阻塞非阻塞、进程同步(进程锁)、线程、GIL全局解释器锁、锁-信号量-Event事件、协程
  9. 嵌入式Qt-简易网络监控摄像头
  10. PHP扩展代码结构详解