实训

29 阅读1分钟

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

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

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

3. 添加3个梦想

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

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

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

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

8. 循环输出梦想列表

package array
object array05 {
  case class DreamItem(content:String, isDone:Boolean, deadline:String, prior:Int)

  def main(args: Array[String]): Unit = {
    val dream1 = DreamItem("学英语", false, "2026-0-0", 1)
    val dream2 = DreamItem("早睡", false, "2026-12-11", 2)
    val dream3 = DreamItem("体重减少", false, "2026-0-0", 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=5)

    // 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("-------------------")
      println()
    })
  }
}

屏幕截图 2025-12-11 093637.png