在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}")
    })

  }

}
相关推荐
foggyprojects3 分钟前
一个企业查询问题,如何从自然语言走到 DSL 再走到 SQL
后端
掘金者阿豪5 分钟前
PDO连金仓数据库(下篇):预处理语句、大对象和批量操作
后端
RealPluto8 分钟前
Rancher证书轮换过期导致不能访问UI问题处理
后端
Asize8 分钟前
Bun + TypeScript 实战:从接口约束到 RESTful 路由设计
后端·typescript·代码规范
码云骑士14 分钟前
13-列表append的底层真相(上)-listobject源码中的预分配策略
开发语言·python
鱼人24 分钟前
Go 操作 MySQL:常用写法与最佳实践
后端
挖坑的张师傅27 分钟前
方便 Mac 本机运行 e2b 的沙箱方案 e2b-local
人工智能·后端
开心猴爷29 分钟前
Flutter 如何自动上传 可以 IPA 把构建和上传分开处理
后端·ios
二月龙30 分钟前
defer 执行顺序与底层原理,90% 的人都理解不全
后端
长大198830 分钟前
新手常犯的 Go 语法错误,一次性帮你避坑
后端