练习

26 阅读1分钟

Array 练习

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

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

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

3.添加3个梦想

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

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

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

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

8.循环输出梦想列表

case class DreamItem(content:String, isdone:Boolean, deadline:String, prior:Int)

def main(args: Array[String]): Unit = {
  val dream1 = DreamItem("健身", false, "2026-6-1", 1)
  val dream2 = DreamItem("旅游", false, "2026-7-11", 2)
  val dream3 = DreamItem("学英语", false, "2026-5-1", 3)

  val dreamList = scala.collection.mutable.ArrayBuffer(dream1,dream2,dream3)

  // 4
  dreamList(1) = dreamList(1).copy(isdone=true)

  // 5
  dreamList(2) = dreamList(2).copy(prior=0)

  // 6
  val orderList = dreamList.sortBy(_.prior)

  // 7
  val newList = orderList.slice(0, 2)

  // 8
  newList.foreach(ele => {
    println("------")
    println(s"内容:${ele.content}")
    println(s"是否完成:${if(ele.isdone) "完成" else "未完成"}")
    println(s"截止日期:${ele.deadline}")
    println(s"优先级:${ele.prior}")
    println("------")
  })
}