Scala数组相关的操作

这篇博客主要介绍了Scala中数组的操作,包括如何创建包含随机数的数组、交换相邻元素、使用for/yield生成新数组、筛选正负值、计算Double数组的平均值、反向排序数组、去除重复元素、高效移除负数、筛选美洲时区ID以及构建SystemFlavorMap对象。通过实例展示了Scala数组和ArrayBuffer的使用技巧。
摘要由CSDN通过智能技术生成

数组这一章需要注意的要点是:

  • 若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer
  • 提供初始值时不要使用new
  • 用()来访问元素
  • 用for(elem <- arr)来遍历元素
  • 用for(elem <- arr if …) … yield … 来将原数组转型为新数组
  • Scala数组和Java数组可以互操作;用ArrayBuffer,使用scala.collection.JavaConversions中的转换函数。
1. 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间

这里写图片描述

2. 编写一个循环,将整数数组中相邻的元素置换。例如Array(1,2,3,4,5)经过置换后变为Array(2,1,4,3,5)

这里写图片描述
测试:
val a = Array(1,2,3,4,5)
Swap(a)
a.foreach(print)
输出结果为:
21435

3. 重复前一个练习,不过这一次生成一个新的值交换过的数组,用for/yield。

这里写图片描述
运行结果为:
这里写图片描述

4. 给定一个整数数组,产出一个新的数组,包含元素组中的所有正值,以原有顺序排列,之后的元素是所有零或负值,以原有顺序排序。

对于长度按需要变化的数组,Java中有ArrayList,C++中有vector。Scala中的等效数据结构为ArrayBuffer。可以用+=在尾端追加元素,比如b+=(1,2,3,4) , 可以用++=在尾端添加多个元素,以括号包起来,写成b++=Array(8,13,21)
这里写图片描述
运行结果为:
这里写图片描述

5. 如何计算Array[Double]的平均值

这里写图片描述
运行函数
这里写图片描述

6. 如何重新组织Array[Int]的元素将它们以反序排列? 对于ArrayBuffer[Int]你又会怎么做呢 ?

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值