任务练习——梦想清单管理。

25 阅读1分钟

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

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

3. 添加3个梦想

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

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

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

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

8. 循环输出梦想列表

package array

// 可变的
import scala.collection.mutable.ArrayBuffer

object array02 {
  case class DreamItem(content:String,var isDone:Boolean,deadline:String,var prior:Int)


  def main(args: Array[String]): Unit = {

    // 2,3
    val list  =ArrayBuffer(
      DreamItem("元旦放假",false,"2026-01-01",3),
      DreamItem("过年",false,"2026-02-13",2),
      DreamItem("减肥",false,"2026-03-01",2),
    )

    //4
    list(1).isDone = true

    //5
    list(2).prior = 4

    //6. sortBy 使用指定的字段序列
    // reverse 翻转数组(正序,倒序)
    val sortList = list.sortBy(_.prior) //从小到大,后加.reverse

    // 7 把排序之后的数组,截取前两个,放在一个新的列表中
    val topList = sortList.take(2)

    //8
    sortList.foreach(ele =>{
      println(ele.content,if(ele.isDone) "已完成" else "未完成",ele.prior)
    })
  }
}

结果如下:

(过年,已完成,2)
(元旦放假,未完成,3)
(减肥,未完成,4)