classClass

5 阅读1分钟

caseclass

1.Set是可以去重的 2.创建一些对象,把他们装入Set,看看是否能去重!

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 = 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)
  }

}

样例类:相比普通类,它有三点不同

1.在创建对象时,可以省略new 2.默认情况下,属性都是只读的 3.自己自动添加相关的equals,toString等方法

package caseClass

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

}

迭代器

class iterator02 {
  def main(args: Array[String]): Unit = {
    val it = List(1,2,3,4).iterator
    val it1 = it.drop(2)
    while(it1.hasNext){
      println(it1.next())
    }
  }

}
class iterator02 {
  def main(args: Array[String]): Unit = {
    val it = List(1,2,3,4,5,6,7,8,9,10).iterator
    val it1 = it.drop(5).take(4)
    while(it1.hasNext){
      println(it1.next())
    }
  }

}
class iterator02 {
  def main(args: Array[String]): Unit = {
    val it = List(1,2,3,4,5,6,7,8,9,10).iterator
    val (it1,it2) = it.duplicate
    
    val it3 = it1.take(3)
    while(it3.hasNext){
      println(it3.next())
    }
    println("------------------")
    while(it2.hasNext){
      println(it2.next())
    }
  }

}
package caseClass

object iterator03 {

  def main(args:Array[String]):Unit = {
    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)
    }
  }
}

如何依次输出五个元素

package caseClass

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())
    }
  }

}