scala中的Array

30 阅读2分钟

一、导入

在编程过程中,我们经常需要存储和操作一组数据。比如,存储一个班级学生的成绩或者一个图像的像素值。

在 Scala 中,Array 是一种非常重要的数据结构,可以帮助我们有效地处理这类数据。今天我们就来学习 Scala 中的 Array。

package arr

//可变的
import scala.collection.mutable.ArrayBuffer
//可变和不可变

//Arrayy:有序,连续的。可以根据下标来访问元素!

object array01 {
  def main(args: Array[String]): Unit = {
    //不可变的
    val arr=Array(1,2,3,4,5)
    //arr+=6

    //可变的
    val arr1=ArrayBuffer(1,2,3,4,5)
    arr1 += 6

    //可以根据下标来访问
    println(arr1(4))

  }

}

实训内容

任务背景:梦想清单管理。

1. 使用case class 定义DreamItem类。它的属性有:内容,是否完成,截止日期,优先级。

2. 定义可变Array来保存DreamItem。

3. 添加3个梦想

4. 将第2个梦想设置为已完成。

5. 调高第3个梦想的优先级

6. 根据优先级进行从高到低排序

7. 把优先级排名前5的梦想保存到一个新的列表中

8. 循环输出梦想列表

package arr

//可变的
import scala.collection.mutable.ArrayBuffer
//可变和不可变

//Arrayy:有序,连续的。可以根据下标来访问元素!

object array02 {

  //1
  case class DreamItem(content:String,var isDone:Boolean,deadline:String,var prior:Int)

  def main(args: Array[String]): Unit = {
    //2,3
    val list=ArrayBuffer(
      DreamItem("赚到100W",false,"2028-01-01",2),
      DreamItem("1W个粉丝",false,"2026-12-01",3),
      DreamItem("跑15km",false,"2026-06-06",2),

    )
   //4
    list(1).isDone=true
    //5
    list(2).prior = 4
    //6.sortBy 使用指定的字段排序
    //   reverse 翻转数组(正序,倒序)
    val soetedList=list.sortBy(_.prior).reverse
    //7.把排序之后的数组,截取前2个,放在一个新的列表中
    val topList=soetedList.take(2)

    //8
    list.foreach(ele =>{
      println(ele.content,if(ele.isDone)"已完成" else "未完成")
    })

  }

}