博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala-基础-数组(1)
阅读量:7282 次
发布时间:2019-06-30

本文共 2367 字,大约阅读时间需要 7 分钟。

import junit.framework.TestCaseimport scala.collection.mutable.ArrayBuffer;//数组(1)//知识点-定义数组,变长数组,遍历数组,数组转换class Demo1 extends TestCase {  //定义数组  def test_^^() {    //定义数组语法1 val 变量名 = new Array[类类型](长度) 相当于java中  int indexs [] = new int [10];    val nums = new Array[Int](10)    //定义数组语法2 val 变量名 = Array(具体值,用逗号分开) 相当于java中    int indexs [] = {1,2,3};    //数组类型是推断出来的    val cums = Array(1, 2, 3)    //通过 数组变量(下标) 访问数组中的元素 而不是 数组变量[下标]     val n1 = nums(1) //相当于 int n1 = nums[1];  }  //变长数组  def test_@@() {    //定义变长数组语法1 val 变量名 = new ArrayBuffer[类类型]()      val nums = new ArrayBuffer[Int]()    //尾端添加元素    nums += 10    //尾端添加多个元素    nums += (5, 5, 9, 10)    //尾端添加其他数组或集合    val cums = Array(1, 2, 3, 4, 5)    nums ++= cums    //在指定下标插入元素    nums.insert(1, 0)    nums.insert(1, -1, -2, -3)    //移除尾部2个元素    nums.trimEnd(2)    //移除元素    nums.remove(2)    //移除指定下标 几个元素    nums.remove(1, 2)    //变长数组转为固定长度数组    nums.toArray    //数组转为变长数组    val kums = Array(0);    kums.toBuffer  }  //遍历数组  def test_&&() {    val cums = Array(1, 2, 3)    //正序遍历    for (i <- 0 until cums.length) println(cums(i))    for (i <- 0.until(cums.length)) println(cums(i))    // 0 until 10 返回 0 到9     // 0 to    10 返回0 到10    //实际上 0 until 10 底部是是用过方法调用:  0.until(10)    val k = 0 until 10    //倒序遍历  访问函数时 点忽略了  () 也忽略了 单个参数或者无参数的前提    for (i <- (0.until(cums.length)).reverse) println(cums(i))    for (i <- 0 until cums.length reverse) println(cums(i))    //遍历 间隔     for (i <- 0 until cums.length) println()    //增强for循环    for (ele <- cums) println(ele)  }    //数组转换   //yield  保存每次迭代出的变量,并且将执行某些动作后保存到新的数组中去  def test_%%(){      val array = Array(12,-1,-2,0)      val rs1 = for(ele <- array) yield (ele+10)%3       val rs2 = for(ele <- array if ele%2==0) yield (ele+11)*2    }    //常用算法  def test_##(){    val array = Array(-1,8,5,15)    val s1 = array.sum//合集    val s2 = array.max//最大值    val s3 = array.min//最小值    val s4 = array.sorted//排序    scala.util.Sorting.quickSort(array)//快速排序  }    //多维数组  def test_!!(){    val moreArray = new Array[Array[Int]](10)    val moreArray2 = Array.ofDim[Double](2, 2)    moreArray(0)(0) = 2        moreArray(0) = new Array[Int](10)    for(i <- 0 until moreArray.length){       moreArray(i) = new Array[Int](i+1)    }        for(x <- moreArray2;i<- 0 until x.length) x(i) = 5  }    }

 

转载于:https://www.cnblogs.com/ak23173969/p/6782852.html

你可能感兴趣的文章
Mybatis常见面试题
查看>>
基于VUE构建做题H5组件【附源代码】
查看>>
BFC深入理解
查看>>
Webpack 将代码打包成什么样子?
查看>>
从头实现一个简易版React(三)
查看>>
SVG相关学习(一)SVG基础
查看>>
极致Web性能 —— SPA性能指南
查看>>
关于 webpack 4.0.0 使用 html-webpack-plugin 报错的处理方法
查看>>
PHP-生成二维码(qr-code)
查看>>
git/github使用(入门到中阶)
查看>>
计数排序,桶排序与基数排序
查看>>
Android 项目目录结构
查看>>
一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](九)
查看>>
Facebook Docusaurus 中文文档 添加博客
查看>>
JavaScript温故(一)
查看>>
醒来或者吃饱又是一年
查看>>
Spark入门
查看>>
Angular 5 开发一个有道翻译
查看>>
charm_PHP,一个还有诸多问题的PHP MVC框架
查看>>
Python 类继承相关问题
查看>>