本课程集合代码:
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感兴趣,可以免费听由王家林老师每天晚上20:00开设的Spark永久免费公开课,地址YY房间号:68917580