题目:
使用 case class 创建图书信息类 Book:包含四个属性:ID,书名,作者,价格,数量。
创建一个名为 BookList 的可变 List,它只能用来保存 Book 的实例。
初始化三本不同的书(注意 id 不同就是不同的书),加入到 BookList 中。
添加一本已经存在的书。此时应该去修改 BookList 中对应书目的数量,而不是去添加一条新数据。
根据图书名称查询是否在列表中(通过遍历列表对比名称)
删除指定书名的书
删除指定 ID 的书
对于图书按价格从高到低排序。
遍历图书列表,并打印每本书的详细信息
展示全部的总的金额
package caseclass
import scala.collection.mutable.ListBuffer
object caseclass04 {
// 1
case class Book(id:Int,name:String, author:String, price:Double, amount:Int)
def main(args: Array[String]): Unit = {
// 2
val bookList: ListBuffer[Book] = ListBuffer()
// 3
val book1 = Book(1, "凡人修仙记", "梦语", 20.2, 1)
val book2 = Book(2, "最强逆袭男主角", "梦语", 100, 1)
val book3 = Book(3, "重生之超级保镖", "梦语", 50, 1)
bookList += book1
bookList += book2
bookList += book3
// 删除id为1的书
// 7
// val id = 1
// bookList.remove(0)
// 8 sortWith
val newList = bookList.sortWith((a, b) => {
a.price > b.price
})
// 9
newList.foreach(ele => {
println(s"${ele.id} ${ele.name} ${ele.price}")
})
// 10
var totalPrice = 0.0
newList.foreach(ele => {
totalPrice += ele.price * ele.amount
})
println(s"总价格:$totalPrice")
}
}
运行结果:
2 最强逆袭男主角 100.0
3 重生之超级保镖 50.0
1 凡人修仙记 20.2
总价格:170.2