List练习题

39 阅读2分钟

使用scala编程,完成如下功能。

  1. 创建一个可变 Map,用于存储图书馆中的书籍信息(键为书籍编号,值为包含书籍名称、作者、库存数量的元组),初始化为包含几本你喜欢的书籍信息。
    1. 使用 += 操作符添加两本新的书籍到图书馆集合中。
    1. 根据书籍编号查询某一本特定的书籍信息,使用 get 方法,并输出结果。
    1. 修改某本书籍的库存数量(假设可以通过键找到对应的元组并修改其中的值,这里体现可变 Map 的特性)。
    1. 使用 -= 操作符从图书馆集合中删除一本书。
    1. 遍历图书馆书籍 Map,并打印出每本书的信息。
package list

import scala.collection.mutable.ListBuffer

/*
*写scala程序,完成如下功能。

*1.创建图书信息类,包含三个属性:书名,作者,价格
*2.创建6本图书对象并添加到可变 List的尾部
*3.创建1本图书对象并添加到可变 List的头部
*4.创建1本图书对象并添加到可变 List的第3个位置
*5.根据图书名称查询是否在列表中(通过遍历列表对比名称)
*6.从列表中删除第4本书
*7.对于图书按价格从高到低排序。
*8.遍历图书列表,并打印每本书的详细信息
*9.展示全部的总的金额
* */

import scala.collection.mutable.ListBuffer

// 1.
class Book(var bookName:String, var author:String, val price:Double){}
object list03 {
  def main(args: Array[String]): Unit = {
    val bookList: ListBuffer[Book] = ListBuffer()

    val book1 = new Book("西游记","吴承恩",50.2)
    bookList += book1
    val book2 = new Book("三国演义","罗贯中",54.2)
    bookList += book2

    // 3.
    val book3 = new Book("凡人修仙传","忘语",30)
    bookList.prepend(book3)

    // 4.
    bookList.insert(2,new Book ("平凡的世界","路遥",50))

    // 7.
    val newBookList = bookList.sortWith((a:Book, b:Book)=>{
      a.price > b.price
    })
    // 8.
    newBookList.foreach(book =>{
      println(s"书名:${book.bookName},作者:${book.author}, 价格:${book.price}")
    })
  }
}