您的位置:首页 > 其它

Scala基础—数组操作示例

2017-06-17 15:04 363 查看
package com.spark.scala.basics

/**
*scala中数据的创建与操作:
* 1.最原始的创建数据的方式是形如val array = new Array[Int](5)
* 2.最常用和经典的创建数组的方式是形如val array = Array[Int](1,2,3,4,5)或者array = Array(1,2,3,4,5)或者array = Array.apply(1,2,3,4,5)
* 3.可变数组ArrayBuffer,需要先导入import scala.collection.mutable.ArrayBuffer
* 4.ArrayBuffer增加元素,默认情况下是在末尾增加元素,效率高!
* 5.当需要多线程并发操作的时候,ArrayBuffer转换成为Array就非常重要!当然Array,其本身虽然不可删减元素,但是必须考虑并发写的情况
* 6.yield 保存操作元素
* 7.有返回类型的函数称为函数,没有的称为过程
*/
object HelloArrayOps {
def main(args:Array[String]) : Unit = {
val array = new Array[Int](5)
array(1) = 10
for (item <- array) println(item)

val array2 = Array.apply(1,2,3,4,5)
for (item <- array2) println(item)

import scala.collection.mutable.ArrayBuffer
val arrayBuffer = ArrayBuffer[Int]()
arrayBuffer += 1
arrayBuffer += 2
arrayBuffer += 3
arrayBuffer += (4,5,6,7,8,9,10)  //添加元素
arrayBuffer ++= Array(1,2,3)      //添加数组
arrayBuffer.insert(2, 10, 1000)  //指定位置添加元素
arrayBuffer.remove(arrayBuffer.length - 1) //删除元素
arrayBuffer.toArray //变为固定长度的数组
for (item <- arrayBuffer) println(item)

scala.util.Sorting.quickSort(array) //快排,升序
println(array.mkString(","))

// yield方法
val arrayAddOne = for (item <- array) yield item + 1
println(arrayAddOne.mkString(" "))

// 过滤元素filter
println(array.filter(x => x % 2 == 0).mkString(" ")) //循环每一个元素,故可以用_代替,如下:
println(array.filter( _ % 2 == 0).mkString(" "))
println(array.filter( _ % 2 == 0).map(_ * 10).mkString(" "))
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: