scala Array test

31 阅读1分钟
package Array1

//任务背景:梦想清单管理。
//1.使用 case class 定义 DreamItem 类。它的属性有:内容,是否完成,截止日期,优先级。
//2.定义可变 Array 来保存 DreamItem。
//3.添加 3 个梦想
//4.将第 2 个梦想设置为已完成。
//5.调高第 3 个梦想的优先级
//6.根据优先级进行从高到低排序
//7.把优先级排名前 5 的梦想保存到一个新的列表中
//8.循环输出梦想列表

import Array1.array02.DreamItem

import scala.collection.mutable.ArrayBuffer

object array02 {

  //1
  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("AAA",false,"2030-01-01",3),
      DreamItem("ABB",false,"2029-05-15",2),
      DreamItem("ABA",false,"2030-01-01",2)

    )

    //4
    list(1).isDone = true

    //5
    list(2).prior = 4

    //6
    //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 "未完成",ele.prior)
    })
  }
}