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

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

开发者学堂课程【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”)

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

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

相关文章
|
6月前
|
编译器 程序员 C语言
【C语言】变长数组,二分查找和数组之间自动替换的实现
【C语言】变长数组,二分查找和数组之间自动替换的实现
|
6月前
|
设计模式 算法 Java
【数据结构和算法】定长子串中元音的最大数目
这是力扣的 1456 题,难度为中等,解题方案有很多种,本文讲解我认为最奇妙的一种。又是一道滑动窗口的典型例题,可以帮助我们巩固滑动窗口算法。给你字符串s和整数k。 请返回字符串s中长度为k的单个子字符串中可能包含的最大元音字母数。 英文中的元音字母为(a,e,i,o,u)。
80 1
|
6月前
|
算法 程序员
【数据结构-字符串 三】【栈的应用】字符串解码
【数据结构-字符串 三】【栈的应用】字符串解码
69 0
|
编译器 C语言
【柔性数组】0长度数组,可变数组
【柔性数组】0长度数组,可变数组
|
存储 C语言
C语言基础——(6)数组、变长数组、多维数组
数组 之前在说数据类型的时候就提到了数组,这里重点细说一下。数组名称不可以代表存储区,数组名称可以代表数组里第一个存储区的地址,也可以这么理解:数组的名称是一个指向数组第一个存储区的指针。
115 0
C语言基础——(6)数组、变长数组、多维数组
|
存储 编解码 缓存
|
存储 算法
【数据结构】串与数组(二)
【数据结构】串与数组
137 0
【数据结构】串与数组(二)
|
存储 人工智能 算法
【数据结构】串与数组(三)
【数据结构】串与数组
178 0
【数据结构】串与数组(三)
|
存储 算法 索引
【数据结构】串与数组(一)
【数据结构】串与数组
186 0
【数据结构】串与数组(一)
|
存储
浮点型的存储和取出规则 浮点型存储,整形取出;整形存储,浮点型取出;整形存储和取出...
浮点型的存储和取出规则 浮点型存储,整形取出;整形存储,浮点型取出;整形存储和取出...
78 0