第6课:零基础实战Scala集合操作及Spark源码解析

本课程集合代码:

import scala.collection.mutable.ArrayBuffer

/**
 * 大数据技术是数据的集合以及对数据集合的操作技术的统称,
 * 1、数据集合:会涉及数据的搜集、存储等
 * 2、目前处理大数据最火爆的技术就是Spark
 */

object HelloArrayOps {
  def main(args: Array[String]): Unit = {

    //最原始数组的创建方式,并指定具体的长度
    //val array = new Array[Int](5)
    //Scala中最正统的数组创建方式
    val array = Array(1, 2, 3, 4, 5) //其背后调用的是appy的工厂方法模式
    //val array = Array.apply(1,2,3,4,5)
    array(0) = 10 //赋值
    //array(5) = 1 //数组下标索引范围0到length-1
    for (item <- array) println(item)

    /**
     * 创建可变数组,首先需要导入可变数组的包
     * import scala.collection.mutable.ArrayBuffer
     * 可变数组是直接在末尾直接添加元素,效率非常高
     */
    val arrayBuffer = ArrayBuffer[Int]()
    arrayBuffer += 1
    arrayBuffer += (2, 3, 4)
    arrayBuffer ++= List(5, 6, 7, 8) //Array(5,6,7,8)
    arrayBuffer.insert(1, 100, 200) //在索引为1的位置插入100,200
    arrayBuffer.remove(2)
    arrayBuffer.toArray //当需要多线程并发操作的时候,把ArrayBuffer转换成Array就非常重要
    for (arr <- arrayBuffer) println(arr)

    //循环遍历数组
    println("============================")
    for (i <- 0 until (arrayBuffer.length)) println(i)
    println("============================")
    for (i <- 0 until (arrayBuffer.length, 2)) println(i)
    println("============================")
    //reverse反转数组
    for (i <- (0 until (arrayBuffer.length)).reverse) println(i)

    //读取数组的最大值、最小值、求和
    println("sum:" + arrayBuffer.sum)
    println("max:" + arrayBuffer.max)
    println("min:" + arrayBuffer.min)

    //对数组进行排序,不能适用于可变数组
    scala.util.Sorting.quickSort(array)
    println(arrayBuffer.mkString(","))

    val result = for (item <- arrayBuffer if item % 2 == 0) yield item
    for (i <- result) println(i)

    //可以用Filter来进行取偶数even,odd奇数
    println(arrayBuffer.filter { _ % 2 == 0 }.mkString(","))
    println(arrayBuffer.filter { _ % 2 == 0 }.map { _ * 10 }.mkString(","))
  }

蘑菇云Spark&Scala详解搜狐视频地址:http://my.tv.sohu.com/us/291747571/84586605.shtml

备注:

资料来源于:DT_大数据梦工厂(Spark"蘑菇云"行动

更多私密内容,请关注微信公众号:DT_Spark

如果您对大数据Spark感兴趣,可以免费听由王家林老师每天晚上2000开设的Spark永久免费公开课,地址YY房间号:68917580


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值