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