Scala中的Array

devtools/2024/11/23 14:29:52/
Array:数组
可修改的:ArrayBuffer
不可修改的:Array

需要导入包

import scala.collection.mutable.ArrayBuffer
可修改的: ArrayBuffer
  def main(args: Array[String]): Unit = {//1.新建val arr1=ArrayBuffer(1,2,3)//2.添加arr1 += 4arr1.insert(0,100)//3.删除arr1 -= 3  //删除指定的元素arr1.remove(0)   //删除指定位置(下标)的元素//4.修改。通过下标来修改arr1(0) = 50  //把下标为0的元素赋值为50//    注意:下标不能越界。有效的范围是:0 - 长度 -1println(arr1.length)   //length 长度 ,用来获取元素的个数println(arr1(10))      //IndexOutOfBoundsException//5.查询//5.1 判断某个元素在数组中是否存在println(s"50在数组中吗? ${arr1.contains(50)}")//5.2 找到指定元素的下标//    -1:表示这个元素在数组中不存在!println(s"500在数组中的下标是: ${arr1.indexOf(500)}")//6.遍历//    for,foreach,iterator
//    for (i<-arr1) println(i)
//    println("--------------")
//    arr1.foreach(println)
//    println("--------------")val it1 = arr1.iteratorwhile (it1.hasNext)println(it1.next())}

不可修改的:Array: 长度

  def main(args: Array[String]): Unit = {val arr1=Array(1,2,3,4,5,6)arr1(0)=100
//    arr1.foreach(println)//数组的常用的方法(对于可变和不可变的数组都可以使用)//1. 截取。从原数组中,取一部分,组成一个新的数组
//    arr1.slice(起点下标,终点下标-不包括)val arr2=arr1.slice(2,5)arr2.foreach(println)//2.遍历.foreach//3.映射 map//Array(1,2,3)------>Array(2,4,6)val arr3=Array(1,2,3).map(e=>e*2)arr3.foreach(println)//4.过滤 filterprintln("-"*50)//留下奇数,组成一个新的数组val arr4=Array(2,3,4,5,6).filter(e=>e%2==1)arr4.foreach(println)//5.折叠 reduceprintln(Array(1,2,3,4).reduce((a,b)=>a+b))
}

多维数组:

最典型的多维数组就是二维数组,类似于表格。有两种定义方法:

直接定义:Array.ofDim(x,y)

从一维数组转化得来:数组: grouped

    //多维数组val arr5=Array(Array(1,2,3),Array(4,5,6),Array(7,8,9))//9println(arr5(2)(2))//4println( arr5(1)(0) )//创建二维数组
//    val arr6=Array.ofDim[Int](3,3,3)
//    arr6(0)(0)(0)=1//由一维数组转化得到二维的数组val arr6=Array(1,2,3,4,5,6).grouped(3)//对数组中的元素,3个一组,升级为二维数组while (arr6.hasNext){val rs=arr6.next()println(rs(0))}


http://www.ppmy.cn/devtools/136027.html

相关文章

kotlin

参考资料&#xff1a; 参考资料 1、kotlin编译原理是先编译为class文件&#xff0c;再在java 虚拟机上执行2、变量 var 1 变量 val 2 常量 kotlin存在类型推导机制 var c:Int 1kotlin不存在基本类型&#xff0c;将全部使用对象类型3、函数 fun test(){}fun add(a:Int,b Int…

大数据技术之Hadoop :我是恁爹

就如上图中的技术分类&#xff0c;大数据技术主要解决的就是海量数据的存储和计算问题。 这两个问题的解决方案最先被 Google 被提出&#xff0c;用于解决 Google 搜索引擎海量的网页存储和索引的构建。对应的技术就是日后被人所熟知的 HDFS 和 MapReduce。 不关注大数据的可…

关于一次开源java spring快速开发平台项目RuoYi部署的记录

关于一次开源java spring快速开发平台项目RuoYi部署的记录 本次因为需要一些练习环境&#xff0c;想要快速搭建一个javaweb 项目作为练习环境&#xff0c;经过查询和实验找到一个文档详细&#xff0c;搭建简单&#xff0c;架构也相对比较新的开源项目RuoYi。 项目介绍&#xf…

十大网络安全事件

一、私有云平台遭攻击&#xff0c;美国数千家公司工资难以发放 1月&#xff0c;专门提供劳动力与人力资本管理解决方案的美国克罗诺斯&#xff08;Kronos&#xff09;公司私有云平台遭勒索软件攻击&#xff0c;事件造成的混乱在数百万人中蔓延。 克罗诺斯母公司UKG集团&#xf…

万物皆可Docker,在NAS上一键部署最新苹果MacOS 15系统

万物皆可Docker&#xff0c;在NAS上一键部署最新苹果MacOS 15系统 哈喽小伙伴们还&#xff0c;我是Stark-C~ 最近苹果Mac mini 2024款在政府补贴的加持下&#xff0c;仅需3500块钱左右就能到手确实挺香的。我看很多评论区的小伙伴跃跃欲试&#xff0c;但是也有不少之前从未体…

中间件--laravel进阶篇

laravel版本11.31,这中间件只有3种,分别是全局中间件,路由中间件,控制器中间件。相比thinkphp8,少了一个应用中间件。 一、创建中间件 laravel创建中间件可以使用命令的方式创建,非常方便。比如php artisan make:middleware EnsureTokenIsValid。EnsureTokenIsValid是中间…

掌握移动端性能测试利器:深入JMeter手机录制功能

引言 在当今移动互联网时代&#xff0c;应用程序的性能和用户体验至关重要。为了确保应用程序在不同设备和网络环境下都能稳定运行&#xff0c;性能测试成为了不可或缺的一环。Apache JMeter作为一款强大的开源性能测试工具&#xff0c;不仅支持传统的PC端性能测试&#xff0c…

JavaWeb开发:HTML 页面与接口对接

在现代 Web 开发中&#xff0c;前后端分离的架构越来越普遍&#xff0c;通常需要通过 API 接口从后端获取数据&#xff0c;然后在前端页面展示这些数据。这篇博客将会向你展示&#xff0c;在 JavaWeb 开发中&#xff0c;如何通过 AJAX 请求接口来获取图书信息&#xff0c;并将这…