在Scala中Array可变以及切片的学习

复制代码
package gjhs114


import scala.collection.mutable.ArrayBuffer
object Arrray114 {
//可变数组
  def main(args: Array[String]): Unit = {
    val arr1 = ArrayBuffer(1, 2, 3)
    //    添加
    arr1 += 4
    //    删除
    arr1 -= 1
    //    3 修改.数组名(下标) = 新值
    arr1(0) = 1000
    //    4  查询:判断是否有某个元素
    println(s"30是否在数组中:${arr1.contains(30)}")


    //    map方法
    var arr2 = arr1.map(s => s * 2)
//    filter 过滤。从当前数组中,找出需要的元素,组成一个新的数组
//找到大于100的元素
    val arr3 = arr2.filter(s => s> 100)
//    数组的元素个数:
    println(s"数组的元素个数是:${arr3.length}")

//    indexOf://找到第一元素的下标
//    没有,就返回-1
//    有,就返回第一次出现的下标
    println(arr3.indexOf(400))
//数组的切片。从一个数组中取出相邻的元素组成一个新的数组
//    ArrayBuffer(1,2,3,4,5),取出3,4组成一个新的数组
//    slice(起点下标,终点下标)//不包括终点下标!!!!
    val arr4 = ArrayBuffer(1,2,3,4,5).slice(2,4)
    val it1 = arr2.iterator
    while (it1.hasNext) {
      println(it1.next())
    }
//    二维数组
//    创建方式
    val arr5 = Array.ofDim[Int](2,2)//2行2列
    arr5(0)(0) = 1
    arr5(0)(1) = 2
    arr5(1)(0) = 3
    arr5(1)(1) = 4

    var arr6 = Array(1,2,3,4,5,6)
    var arr7 = arr6.grouped(3)
//    println(arr7)
    while(arr7.hasNext){
      var rs = arr7.next()
      println(s"第1个元素是:${rs(0)}")
      rs.foreach(println)
//      println(arr7.next())
      println("-"*10)
    }
  }
}
相关推荐
技术小结-李爽5 分钟前
【工具】Shell之Bash、Zsh配置文件的使用
开发语言·bash
壮Sir不壮16 分钟前
GO语言——GMP调度模型
linux·开发语言·golang·go·操作系统·线程·协程
枫叶丹417 分钟前
【HarmonyOS 6.0】MDM Kit 深度解析:企业级 user_grant 权限集中管理策略
开发语言·华为·harmonyos
鱼子星_18 分钟前
C++从零开始系列篇(一):C++入门——命名空间,输入输出与缺省参数
开发语言·c++
一尘之中20 分钟前
基于架构的软件开发方法
学习·架构·ai写作
chase。23 分钟前
【学习笔记】面向机器人食物舀取的 spillage-aware 引导扩散策略
笔记·学习·机器人
就叫_这个吧25 分钟前
Java使用tomcat+servlet+filter实现简单的登录功能,需先登录再进行页面数据管理操作
java·开发语言·servlet·tomcat·jsp·filter
dtq042427 分钟前
C语言刷题函数2 - 用函数实现数组操作
c语言·开发语言
zhonghaoxincekj31 分钟前
基于 168MHz MCU 的直流继电器全参数自动化测试方案解析
经验分享·功能测试·科技·学习·测试工具·创业创新·制造
川石课堂软件测试33 分钟前
UI自动化测试|下拉选择框&弹出框&滚动条操作实践
开发语言·python·jmeter·ui·docker·单元测试·harmonyos