array练习题

31 阅读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 { //1 case class DreamIem(content:String,var isDone:Boolean,deadline:String, var prior:Int)

def main(args: Array[String]): Unit = { //2,3 val list = ArrayBuffer( DreamIem("目标1",false,"2030-02-02",2), DreamIem("目标2",false,"2027-02-10",3), DreamIem("目标3",false,"2026-02-10",2), ) //4 list(1).isDone = true //5 list(2).prior = 4 //6.sortBy 使用指定的学段排序 //reverse 翻转数据(正序,倒序) val sortedlist = list.sortBy(_.prior).reverse

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

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


![image.png](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/2661bfe19b5e444ca14f4029c681aa74~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg5aSp5rCU6aKE5oql5LuK5aSp5pyJ6Zuo:q75.awebp?rk3s=f64ab15b&x-expires=1773123850&x-signature=iw3%2Fh05K8mVrddb%2F0kmDvKKNYcU%3D)