package caseclass
object classClass01 {
class Stu(var name:String, var age:Int) {
override def equals(obj: Any): Boolean = {
val other = obj.asInstanceOf[Stu]
other.age == age && other.name == name
}
override def toString: String = s"Stu($name, $age)"
}
def main(args: Array[String]): Unit = {
val stu1 = new Stu("小花", 18)
val stu2 = new Stu("小花", 18)
println(stu1)
println(stu1 == stu2)
val set1 = Set(stu1, stu2)
println(set1)
}
}
object classClass02 {
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)
}
}
object classClass03 {
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("图书已经存在,添加失败")
}
bookList.foreach(ele => {
println(s"书名:《${ele.bookName}》")
println(s"作者: ${ele.author}")
println()
})
}
def addNewBook(bookList: scala.collection.mutable.ListBuffer[Book], book: Book): Boolean = {
if(bookList.exists(_.id == book.id)){
false
} else {
bookList += book
true
}
}
}
package iterator
object iterator01 {
def main(args: Array[String]): Unit = {
val list = List(1, 2, 3, 4, 5)
list.foreach(ele => println(ele))
val it = list.iterator.drop(2).take(2)
while(it.hasNext){
println(it.next())
}
}
}
package iterator
object iterator03 {
/**
* 1. next() 获取当前的元素, 移动一次迭代器
* 2. hasNext 判断是否有下一个元素
* 3. drop(n) 从当前位置开始, 跳过 n 个元素, 它返回一个新的迭代器
* 4. take(n) 从当前位置开始, 取n个元素, 它返回一个新的迭代器
* 5. duplicate 复制迭代器
* 6. toList 把迭代器中剩余的元素放在一个新的List中
* 7. zip 把两个迭代器合并成一个新的迭代器,可以同时移动这个新的迭代器, 并且可以同时
*/
def main(args: Array[String]): Unit = {
// val it = List(1,2,3,4,5).iterator
// it.next()
// it.next()
// val list1 = it.toList
// println(list1)
val it1 = List(1,2,3,4,5,6).iterator
val it2 = List("one", "two", "three", "four", "five").iterator
val it3 = it1.zip(it2)
while(it3.hasNext){
val rs = it3.next()
println(rs._1, rs._2)
}
}
}