在Scala中case class 的运用

复制代码
package gjhs114

import scala.collection.mutable.ArrayBuffer

// 1
case class DreamItem(content: String, var isDone: Boolean, deadline: String, var order: Int) {

}

object Test19 {
  def main(args: Array[String]): Unit = {
    //   2
    val dreamList = ArrayBuffer[DreamItem]()
    //   3
    val dream1 = DreamItem("家里摆一张台球桌", false, "2000-10-10", 2)
    dreamList +=DreamItem("我想入伍",false,"2014-2-31",1)
    dreamList +=DreamItem("想自己买一部手机",true,"2012-8-24",5)
    dreamList +=DreamItem("我想留长头发",false,"2024-8-29",3)
    dreamList +=DreamItem("家里摆个麻将桌",false,"2024-7-13",4)
    dreamList += DreamItem("环游世界", false, "2012-8-25", 6)
    dreamList += DreamItem("学会一门新语言", false, "2012-8-26", 7)
    dreamList += DreamItem("参加马拉松比赛", true, "2012-8-28", 8)
    dreamList += DreamItem("学习钢琴", false, "2012-8-29", 9)
    dreamList += DreamItem("拥有自己的公司", false, "2012-8-30", 10)
//    4
    dreamList(1).isDone = true
//    5
    dreamList(3).order = 4
//    6
    val list = dreamList.sortWith((a,b)=>a.order >b.order)
//    7
    val newList = list.slice(0,5)
//    8
    newList.foreach(e =>{
      println(s"${e.content} \t\t ${e.isDone}  \t ${e.order}")
    })

  }

}
相关推荐
用户8599681677691 分钟前
UE5虚幻引擎汽车HMI设计高级研修课
后端
用户8599681677693 分钟前
鸿蒙HarmonyOS多线程编程实战:AI语音
后端
开心猴爷10 分钟前
iOS 应用发布流程中常被忽视的关键环节
后端
cheems952721 分钟前
锁策略的介绍
java·开发语言
清水白石00823 分钟前
《Python × 数据库:用 SQLAlchemy 解锁高效 ORM 编程的艺术》
开发语言·python·json
风中月隐30 分钟前
C语言中以坐标的方式图解“字母金字塔”的绘制
c语言·开发语言·算法·字母金子塔·坐标图解法
Arva .35 分钟前
说说线程的生命周期和状态
java·开发语言
用户219916797039138 分钟前
使用Agent Framework进行多Agent工作流编排
后端
1001101_QIA38 分钟前
C++中不能复制只能移动的类型
开发语言·c++
tryxr43 分钟前
HashTable、HashMap、ConcurrentHashMap 之间的区别
java·开发语言·hash