case

29 阅读1分钟
object class01 {
  case class Stu(name:String,age:Int)

  def main(args: Array[String]): Unit = {
    val stu1 = Stu("小花",18)
    val stu2 = Stu("小花",18)
    println(stu1)
    println(stu1 == stu2)
    val set1 = Set(stu1,stu2)
    println(set1)
  }
}
import scala.collection.mutable.ListBuffer

object class02 {
  case class Book(id:String,bookName:String,author:String,price:Double)

  def main(args: Array[String]): Unit = {
    val book1 = Book("001","高效能人士的七个习惯","韦伯",50)
    val book2 = Book("002","沉思录","皇帝",20)
    val book3 = Book("003","自控力","xx",30)
    val bookList = scala.collection.mutable.ListBuffer(book1,book2,book3)
    val book4 = Book("004","高效能人士的七个习惯","韦伯",50)

    if(addNewBook(bookList,book4)){
      println("添加成功")
    }else{
      println("图书已存在,添加失败")
    }
    val bookName = "沉思录"
    if(queryBook(bookList,bookName)){
      println(s"<<${bookName}>>存在!")
    }else {
      println("不存在")
    }
    delBook(bookList,bookName)

    // 9
    val orderBookList = bookList.sortBy(_.price).reverse

    // 10
    orderBookList.foreach(ele => {
      println(s"书名:《${ele.bookName}》")
      println(s"作者: ${ele.author}")
      println(s"价格: ${ele.price}")
      println()
    })
  }

  def delBook(bookList: ListBuffer[Book], bookName: String):Boolean = {
    // 检查图书是否存在
    val result = bookList.find(_.bookName == bookName)
    if(result.isDefined){
      bookList -= result.get
      true
    } else {
      false
    }
  }

  def queryBook(bookList: ListBuffer[Book], bookName: String):Boolean = {
    bookList.exists(_.bookName == bookName)
  }

  def addNewBook(bookList: ListBuffer[Book], book: Book):Boolean = {
    // 检查书是否存在
    if(bookList.exists(_.id==book.id)){
      false
    } else {
      bookList += book
      true
    }
  }
}