Scala学习之数组与元组
Posted 黑马程序员官方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala学习之数组与元组相关的知识,希望对你有一定的参考价值。
一、数组
1.1 概述
数组就是用来存储多个同类型元素的容器, 每个元素都有编号(也叫: 下标, 脚标, 索引), 且编号都是从0开始数的. Scala中, 有两种数组,一种是定长数组,另一种是变长数组1.2 定长数组
1.2.1 特点 1. 数组的长度不允许改变.2. 数组的内容是可变的. 1.2.2 语法
格式一: 通过指定长度定义数组
格式二: 通过指定元素定义数组
注意:
1. 在 scala 中,数组的泛型使用 [] 来指定 . 2. 使用 数组名 ( 索引 ) 来获取数组中的元素 . 3. 数组元素是有默认值的 , Int:0, Double:0.0, String: null 4. 通过 数组名 .length 或者 数组名 .size 来获取数组的长度 .
1.2.3 示例
需求 1. 定义一个长度为10的整型数组, 设置第1个元素为11, 并打印第1个元素.2. 定义一个包含"java", "scala", "python"这三个元素的数组, 并打印数组长度. 参考代码
1.3 变长数组
1.3.1 特点
数组的长度和内容都是可变的,可以往数组中添加、删除元素.
1.3.2 语法
创建变长数组,需要先导入ArrayBuffer类
定义格式一: 创建空的ArrayBuffffer变长数组
定义格式二: 创建带有初始元素的ArrayBuffffer变长数组
1.3.3 示例一: 定义变长数组
1. 定义一个长度为0的整型变长数组.
2. 定义一个包含"hadoop", "storm", "spark"这三个元素的变长数组.
3. 打印结果
1.3.4 示例二: 增删改元素
针对Scala中的变长数组, 可通过下述方式来修改数组中的内容
1.4 遍历数组
概述
在Scala中, 可以使用以下两种方式来遍历数组:
1. 使用 索引 遍历数组中的元素
2. 使用 for表达式 直接遍历数组中的元素
示例
1. 定义一个数组,包含以下元素1,2,3,4,5
2. 通过两种遍历方式遍历数组,并打印数组中的元素
注意:
0 until n 获取0~n之间的所有整数, 包含0, 不包含n.
0 to n 获取0~n之间的所有整数, 包含0, 也包含n.
1.5 数组常用算法
概述
Scala中的数组封装了一些常用的计算操作,将来在对数据处理的时候,不需要我们自己再重新实现, 而是可以直接
拿来用。以下为常用的几个算法:
sum()方法: 求和
max()方法: 求最大值
min()方法: 求最小值
sorted()方法: 排序, 返回一个新的数组.
reverse()方法: 反转, 返回一个新的数组
需求
1. 定义一个数组, 包含4, 1, 6, 5, 2, 3这些元素.
2. 在main方法中, 测试上述的常用算法
二、元组
元组一般用来存储多个不同类型的值。例如同时存储姓名,年龄,性别,出生年月这些数据, 就要用到元组来存储了。并且元组的长度和元素都是不可变的。
2.1 格式
格式一 : 通过小括号实现格式二: 通过箭头来实现
注意: 上述这种方式, 只适用于元组中只有两个元素的情况.
2.2 示例
需求
1. 定义一个元组,包含学生的姓名和年龄.
2. 分别使用小括号以及箭头的方式来定义元组.
参考代码
2.3 访问元组中的元素
在Scala中, 可以通过 元组名._编号 的形式来访问元组中的元素,_1表示访问第一个元素,依次类推.也可以通过 元组名.productIterator 的方式, 来获取该元组的迭代器, 从而实现遍历元组.
格式
格式一: 访问元组中的单个元组.
格式二: 遍历元组
示例
1. 定义一个元组,包含一个学生的姓名和性别,"zhangsan", "male"
2. 分别获取该学生的姓名和性别, 并将结果打印到控制台上
参考代码
以上是关于Scala学习之数组与元组的主要内容,如果未能解决你的问题,请参考以下文章