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(" ")) } }
Scala基础—数组操作示例
最新推荐文章于 2023-04-24 21:30:28 发布