美文网首页
07-scala入门—数组

07-scala入门—数组

作者: kang_james | 来源:发表于2019-06-18 16:14 被阅读0次

scala数组

scala语言中提供的数组是用来存储固定大小的同类型元素,数组对于每一门编辑应语言来说都是重要的数据结构之一。
声明数组变量并不是声明number0、number1、....、number99一个个单独的变量,而是声明一个就像numbers这样的变量,后使用 numbers[0]、numbers[1]、...、numbers[99] 来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。
数组的第一个元素索引为0,最后一个元素的索引为元素总数减1。

声明数组

语法格式如下:
var z:Array[String] = new ArrayString

var z = new ArrayString
以上语法中,z 声明一个字符串类型的数组,数组长度为 3 ,可存储 3 个元素。我们可以为每个元素设置值,并通过索引来访问每个元素,索引从0开始

数组处理

数组的元素类型和数组的大小都是都确定的,所有当处理数组元素时候, 我么通常使用for循环示例:

bject ForTest {

  def main(args: Array[String]): Unit = {
    var numlist = Array(1.9,2.9,3.4,3.5)
    for (x <- numlist)
      println(x)
    //计算数组中所有元素的和
    var total = 0.0
//    for (x <- numlist )
//      total += x
//    println (total)
    for (i <- 0 to numlist.length -1)
      total += numlist(i)
    println (total)
    //查找数组中最大的元素
    var max = numlist(0)
    for (i <- 1 to numlist.length -1){
      if (numlist(i) > max)
        max = numlist(i)
    }
    println("最大值为:" + max)
  }

多维数组

多维数组一个数组中的值可以使另一个数组,另一个数组的值也可以是一个数组,矩阵和表格是我们常见的二维数组。
一下是一个定义二维数组的示例:
var mymatrix = ofDimInt

import Array._
object OfDimTest {

  def main(args: Array[String]): Unit = {
    var mytrix = ofDim[Int](3,3)

    //创建矩阵
    for (i <- 0 to 2){
      for (j <- 0 to 2){
        mytrix(i)(j) = j
      }
    }

    // 打印二维数组
    for(i <- 0 to 2){
      for (j <- 0 to 2){
        print(" " + mytrix(i)(j))
      }
      println()
    }
  }
}

合并数组

concat()

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

    var arr1 = Array(1.9, 2.9, 3.4, 3.5)
    val arr2 = Array(8.9, 7.9, 0.4, 1.5)

    var arr3 = Array.concat(arr1,arr2)
    
    //输出每个元素
    for( x <- arr3){
      println(x)
    }
  }
}

创建区间数组

range(),最后一个参数为步长,默认为1

object RangeTest {

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

    var arr1 = Array.range(10,20,2)
    var arr2 = Array.range(10,20)

    //输出所有数组元素
    for (x <- arr1){
      print(" " + x)
    }

    for (x <- arr2){
      print(" " + x)
    }
  }
}

可变数组操作

object ArrayBufferTest {

  def main(args: Array[String]): Unit = {
    var arrayBuffer : ArrayBuffer[Int] = ArrayBuffer(1,2,3)

    //在索引为0的位置插入参数
    arrayBuffer.insert(0,8,9,0)
    //从索引3删除2个元素
    arrayBuffer.remove(3,2)

    //转换成定长数组
    val arr = arrayBuffer.toArray
    for (i <- arrayBuffer) println(i)
  }
}

数组的常用操作

var array = Array(1, 2, 3, 4, 5, 6)
    println(array.sum)
    println(array.max)
    println(array.min)
    println(array.toString)
    println(array.mkString(","))
    println(array.mkString("<", ",", ">"))

数组操作的API

使用前需要先 import Array._

相关文章

  • 07-scala入门—数组

    scala数组 scala语言中提供的数组是用来存储固定大小的同类型元素,数组对于每一门编辑应语言来说都是重要的数...

  • 前端刷题 —— 牛客网前端题库60道详解(三)

    目录 引言删除数组最后一个元素(入门)添加元素(入门)删除数组第一个元素(入门)数组合并(入门)添加元素(简单)计...

  • Python科学计算

    $$\mathrm{《Python科学计算》学习笔记}$$ [TOC] Numpy 数组入门 数组创建 np.ar...

  • kotlin入门(4)-区间

    Kotlin入门(1)-环境配置kotlin入门(2)-基本类型kotlin入门(3)-数组 区间从数学意义上定义...

  • 入门-数组

    一、数组的创建 二、数组的使用 三、对象及引用

  • 5 数组 Swift/Object-C ——《Swift3.0从

    5 数组 Swift/Object-C ——《Swift3.0从入门到出家》 数组 Swift中数组是一种数据结构...

  • Java数组与字符串

    Java数组的基本概念一维数组的创建与使用foreach语句多维数组的创建与使用字符串String入门 1、数组的...

  • kotlin入门(3)-数组

    Kotlin入门(1)-环境配置kotlin入门(2)-基本类型 数组在 Kotlin 中使用 Array 类来表...

  • 三种一维树状数组

    单点修改+区间查询 最基本的树状数组 树状数组入门 模板(洛谷P3374 【模板】树状数组1) 区间修改+单点查询...

  • go 数组

    浮点型计算格式化小数位数方法 数组 数组可以存放多个同一类型数据。数组是值类型。入门案例 数组定义和内存分布 数组...

网友评论

      本文标题:07-scala入门—数组

      本文链接:https://www.haomeiwen.com/subject/vutfqctx.html