Spark基础-Scala集合的操作

这篇博客主要探讨了Scala集合的操作,包括常见的转换和操作,如输出、过滤、映射等。这些操作在大数据处理框架Spark中扮演着重要角色,对于理解和提升Spark编程效率至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心
1、scala集合的操作

package com.xlucas
import scala.collection.mutable.ArrayBuffer
/*
 * Created by xlucas on 2017/8/15 0015.
  * scala 中数据的创建和操作
  * 1、最原始的创建数据的方式 val array=new Array[Int](5)
  * 2、数据的长度和Java中是的一样的模式
  * 3、最常用的创建方式的Array[Int](1,2,3,4,5) ,直接通过Array类名并传入参数的方式啦创建数组实例,在背后是实现了调用Array的工厂方法模式
  * apply来构建数组
  * 4、Array本身在底层的实现是借助了jvm平台上的Java语言的数组实现
  * 5、如果我们想使用可变数组,首先需要导入 ArrayBuffer.然后使用ArrayBuffer这个可变数组
  * 6、ArrayBuffer增加元素,默认都是在末尾增加元素,
  * 7、当需要多线程并发操作的时候,把ArrayBuffer转换成为Array。数组长度不变,内容是可以修改的
  * 8、如果想在已经有的数据的基础上通过作用于每个元素生成新的元素构成新数组,可以通过yield语法完成,这个操作不修改
  * 已有的数组
 */
object ArrayOps {
  def main(args: Array[String]): Unit = {
    val array=new Array[Int](5) //定义长度为5的数组
    val array1 =Array(1,2,3,4,5)
    //等价于
    val arr=Array.apply(1,2,3,4,5)

    for(item<-array)
      println(item) //打印数组
    //ArrayBuffer介绍
    val arrabuffer=ArrayBuffer[Int]()
    arrabuffer +=1
    arrabuffer +=(2,3,4,20) //批量增加
    arrabuffer ++=Array(5,6,7) //增加集合元素
    arrabuffer.insert(arrabuffer.length-1,100,1000) //在指定位置增加元素  这里会在5后面增加
    arrabuffer.remove(arrabuffer.length-2)//删除元素
    arrabuffer.toArray //转换成数组
    for(i<- 0 until (arrabuffer.length,2))
      println(arrabuffer(i))
    scala.util.Sorting.quickSort(array) //只能对数组进行排序

    println(array.mkString(",")) //打印集合输出的格式

    val arrayAdd=for(item<-array1) yield  item+1 //array1中每个元素增加1赋值给arrayAdd数组
    println( arrayAdd.mkString(" "))
    val arrayAddEven=for(item<-array1 if item%2 ==0) yield  item+1 //array1中每个偶数元素增加1赋值给arrayAdd数组
    println( arrayAddEven.mkString(" "))

    println(array1.filter(x=>x%2==0).mkString(" "))//将过来每个偶数位的元素并且打印出来
    println(array1.filter(_%2==0).mkString(" "))//和上面的等价
    println(array1.filter(_%2==0).map(_*10).mkString(" "))//将过来每个偶数位的元素在每个元素乘以10并且打印出来
  }
}

输出的结果
0
0
0
0
0
1
3
20
6
7
0,0,0,0,0
2 3 4 5 6
3 5
2 4
2 4
20 40

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值