array实训

50 阅读1分钟

image.png

package array
/** * 任务背景:梦想清单管理。
 * * 1.使用case class 定义DreamItem类。它的属性有:内容,是否完成,截止日期,优先级。 *
 * 2.定义可变Array来保存DreamItem。 *
 * 3.添加3个梦想 *
 * 4. 将第2个梦想设置为已完成。 *
 * 5.调高第3个梦想的优先级 *
 * 6.根据优先级进行从高到低排序 *
 * 7.把优先级排名前5的梦想保存到一个新的列表中 *
 * 8.循环输出梦想列表 */
object array05 {
  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("------") })
  }
}

image.png