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

  }

}
相关推荐
轩情吖2 分钟前
Qt的窗口
开发语言·c++·qt·窗口·工具栏·桌面级开发
€8112 分钟前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战
hcnaisd212 分钟前
深入理解C++内存模型
开发语言·c++·算法
凯子坚持 c16 分钟前
Qt常用控件指南(8)
开发语言·数据库·qt
昊坤说不出的梦16 分钟前
【实战】监控上下文切换及其优化方案
java·后端
冠希陈、21 分钟前
PHP 判断是否是移动端,更新鸿蒙系统
android·开发语言·php
疯狂踩坑人27 分钟前
【Python版 2026 从零学Langchain 1.x】(二)结构化输出和工具调用
后端·python·langchain
HDO清风41 分钟前
CASIA-HWDB2.x 数据集DGRL文件解析(python)
开发语言·人工智能·pytorch·python·目标检测·计算机视觉·restful
2201_7569890942 分钟前
C++中的事件驱动编程
开发语言·c++·算法
多米Domi0111 小时前
0x3f 第48天 面向实习的八股背诵第五天 + 堆一题 背了JUC的题,java.util.Concurrency
开发语言·数据结构·python·算法·leetcode·面试