定长数组的使用 | 学习笔记

简介: 快速学习定长数组的使用

开发者学堂课程【Scala 核心编程 - 进阶定长数组的使用学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9024


定长数组的使用


内容介绍:

一、第一种方式定长数组

二、第二种方式定义数组


一、第一种方式定长数组

1.说明

这里的数组等同于 Java 中的数组,中括号的类型就是数组的类型。

Val arr1=new array[int](10)

中括号后面指定泛型。小括号代表指定的数组大小,默认每个元素是零,数组的每个元素的访问是小括号儿。

//赋值 集合元素采用小括号访问

2.案例演示

在”chapter10”中新建”arraydemo01”文件夹。

进行代码编写

//说明

//1.创建了一个array对象。

//2.[int]表示泛型,即该数组中,只能存放Int。

//3.[any]表示该数组可以存放任意类型。

val arr01=new array[int](4)

Println(arr01.length)

Println(“arr01(0)=”+arr01(0))

For(i<-arr01){

Println(i)

}

Println(“...............”)

arr01(3)=10

For(i<-arr01){

Println(i)

}

最后演示的结果如下:

image.png

3.反编译

反编译之后 val arr01=new array[int](4)//底层 int[] arr01=new int[4]

打开反编译工具,找到 chapter10,底层大致相同。

image.png


二、第二种方式定义数组

1.说明

在定义数组时,直接赋值

//使用 apply 方法创建数组对象

有的数组在创建的时候就直接会指定它的内容,但是这样指定的内容就与其他的数组不相关,直接用 array 分解,底层用的是 apply 方法。而 array 中的数组有整数也有字符串。

array 对应的就是 any。初始化的时候全是整数,它对应的就是泛型。

2.代码演示

创建一个 arraydemo 文件夹。

//说明

//1.使用的是object array 的apply。

//2.(1,3,”xxx”)是直接初始化数组,相当于你给了整数和””,这个数组的泛型就是any。

//3.遍历方向一样。

Var arr02=array(1,3,”xxx”)

如果改为Var arr02=array(1,3,90),它的泛型就是Int。

比如arr(01)=”xx”是不可以的,类型不匹配。

For( i<-arr02){

Println(i)

}

运行一下没有任何问题。

image.png

我们再讲一种遍历方式,可以使用传统的方式遍历,使用下标的方式遍历。

For (index<-0 until arr02.length)

//如果写 to 就跟length-1。

Printf(“arr02[%d]=%s”,index,arr02(index)+”/t”)

这样输出的时候转成字符串输出了,单从指数中演示的效果来说,就是可以的。

因为真正用的时候就会把类型代入进去。

相关文章
|
运维 安全 机器人
阿里云除了电话和工单还有哪些服务?阿里云服务方式整理
提到客服服务,大多用户想到的是电话咨询、工单服务,其实阿里云提供的服务方式有很多,不同的服务方式适合不同需求的用户,例如产品学习,售前咨询,故障排查及处理均可以采用不同的服务方式解决我们的问题。
阿里云除了电话和工单还有哪些服务?阿里云服务方式整理
|
3天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1040 151
|
4天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1729 9
|
9天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
680 152
|
11天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
642 13