scala Array练习题

20 阅读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 array2 {

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

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

    //不可变
    val list=ArrayBuffer(

      DreamItem("彩票刮到100w",false,"2026-06-06",1),
      DreamItem("出国玩",false,"2028-9-06",2),
      DreamItem("财富自由",false,"2029-06-06",3),

    )

    list(1).isDone=true

    list(2).prior = 4

    list.sortBy(_.prior)

    val sortedList=list.sortBy(_.prior).reverse

    val topList= sortedList.take(2)


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

  }

}

image.png