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

  }

}
相关推荐
W.A委员会7 小时前
JS原型链详解
开发语言·javascript·原型模式
止语Lab7 小时前
Go并发编程实战:Channel 还是 Mutex?一个场景驱动的选择框架
开发语言·后端·golang
小码哥_常7 小时前
Spring Boot一键限速:守护你的接口“高速路”
后端
她说彩礼65万7 小时前
C# 实现简单的日志打印
开发语言·javascript·c#
绿浪19847 小时前
c# 中结构体 的定义字符串字段(性能优化)
开发语言·c#
阿丰资源7 小时前
基于SpringBoot的物流信息管理系统设计与实现(附资料)
java·spring boot·后端
房开民8 小时前
可变参数模板
java·开发语言·算法
t***5448 小时前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++
王码码20358 小时前
Go语言的包管理:从GOPATH到Go Modules
后端·golang·go·接口
Victoria.a9 小时前
python基础语法
开发语言·python