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

  }

}
相关推荐
AA-代码批发V哥2 分钟前
Math工具类全面指南
java·开发语言·数学建模
Nobkins19 分钟前
2021ICPC四川省赛个人补题ABDHKLM
开发语言·数据结构·c++·算法·图论
十八年的好汉21 分钟前
buck变换器的simulink/matlab仿真和python参数设计
开发语言·matlab
88号技师21 分钟前
2025年6月一区SCI-不实野燕麦优化算法Animated Oat Optimization-附Matlab免费代码
开发语言·算法·matlab·优化算法
我不是程序猿儿22 分钟前
【C#】Thread.Join()、异步等待和直接join
开发语言·c#
独行soc37 分钟前
2025年渗透测试面试题总结-百度面经(题目+回答)
运维·开发语言·经验分享·学习·面试·渗透测试·php
免檒1 小时前
go语言协程调度器 GPM 模型
开发语言·后端·golang
海棠蚀omo1 小时前
C++笔记-红黑树
开发语言·c++·笔记
不知道写什么的作者1 小时前
Flask快速入门和问答项目源码
后端·python·flask
雪芽蓝域zzs1 小时前
JavaScript splice() 方法
开发语言·javascript·ecmascript