任务背景:梦想清单管理。
1. 使用case class 定义DreamItem类。它的属性有:内容,是否完成,截止日期,优先级。
2. 定义可变Array来保存DreamItem。
3. 添加3个梦想
4. 将第2个梦想设置为已完成。
5. 调高第3个梦想的优先级
6. 根据优先级进行从高到低排序
7. 把优先级排名前5的梦想保存到一个新的列表中
8. 循环输出梦想列表
package array
object array03 {
// 1. 定义DreamItem类
case class DreamItem(content: String, var isDone: Boolean, deadline: String, var prior: Int)
def main(args: Array[String]): Unit = {
val dreamList = scala.collection.mutable.ArrayBuffer(
// 3. 添加3个梦想
DreamItem("发财", false, "2026-12-30", 2),
DreamItem("减肥", false, "2026-12-30", 4),
DreamItem("和朋友一起旅游", false, "2026-12-30", 3),
)
// 4. 将第2个梦想(下标1)设置为已完成
dreamList(2).isDone = true
// 5. 调高第3个梦想(下标2)的优先级(比如将优先级改为0,数值越小优先级越高)
dreamList(2).prior = 1
// 6. 根据优先级从高到低排序(数值小的优先级高)
val orderListed = dreamList.sortBy(_.prior)
// 7. 保存优先级前5的梦想到新列表(当前只有3个,全部保存)
val top5List = orderListed.take(2)
// 8. 循环输出梦想列表
top5List.foreach(ele => {
println(ele.content, if (ele.isDone) "已实现" else "未实现", ele.prior)
})
}
}