set,map

27 阅读1分钟
package set

object set01 {
  def main(args:Array[String]):Unit = {
    val set1 = Set(1,2,3,1,1,1,1)
    println(set1)
  }
}

如果放在set中的元素有重复的,它会自动去重:只保留一个!

package set

object set02 {
  def main(args:Array[String]):Unit = {
    val set1 = scala.collection.immutable.Set(1,2,3,1,1,1,1)
    val set2 = scala.collection.mutable.Set(1,2,3)
    set2 +=20
    println(set2)
  }
}
  • 可变(mutable):可以直接操作这个容器中的数据,例如,添加。
  • 不可变(immutable):不能修改容器中的数据。
  • 默认情况下,使用的Set是不可变的。 Set常见操作
  1. 添加元素
  2. 删除元素
  3. 判断某个元素是否存在
  4. 合并另一个Set
  5. 交集
  6. 差集
package set

object set03 {
 def main(args:Array[String]):Unit = {
   val set1 = scala.collection.mutable.Set(1,2,3)
   set1 +=1
   set1 +=4

   set1 -= 2
   val value = 3
   if(set1.contains(value)){
     println(s"${value}存在")
   }else {
     println(s"${value}不存在")
   }
   val set2 = scala.collection.mutable.Set("语文")
   val set3 = scala.collection.mutable.Set("数学","英语")
   set2 ++=set3

   val set4 = scala.collection.mutable.Set("唱歌","跳舞")
   val set5 = scala.collection.mutable.Set("打游戏","打球","跳舞")
   val set6 = set4.intersect(set5)

   val set7 = scala.collection.mutable.Set("唱歌","跳舞")
   val set8 = scala.collection.mutable.Set("打游戏","打球","跳舞")
   val set9 = set8.diff(set7)
   println(set9)
 }
}

Map(映射)

  • 常见操作
  • 1.添加
  • 2.删除
  • 3.查询元素
package map

object map02 {
  def main(args:Array[String]):Unit = {
    val map1 = scala.collection.mutable.Map(("alice" -> 90),("bob" -> 80),("bob" -> 100))
    map1 +=("juddy" -> 90)
    map1 -="bob"
    val key = "alice"
    val ret = map1.get(key)
    if(ret.isDefined){
      println(s"${key} 对于的值是: ${ret.get}")
    }else{
      println(s"${key}不存在")
    }
    for((a,b) <- map1){
      println(s"${a},${b}")
    }
    map1.foreach({
      case (key,value) => {
        println(s"${key},${value}")
      }
    })
  }
}