天天看點

可變集合:mutable

面向函數程式設計:集合

可變集合 mutable

package scala

import scala.collection.mutable
import scala.collection.mutable.ListBuffer

object Demo10Mutable {
  def main(args: Array[String]): Unit = {
    /**
      * 可變集合
      * scala.collection.mutable 可變集合所在的包
      * scala.collection.immutable 不可變集合所在的包
      *
      * 
      *可變集合可以往集合中添加元素
      *
      */
    //可變list
    val listBuffer = new ListBuffer[Int]

    //可變集合可以往集合中添加元素

    listBuffer += 1
    listBuffer += 2
    listBuffer += 3
    listBuffer += 4
    listBuffer += 5

    println(listBuffer)

    //一次增加多個元素
    listBuffer ++= List(6,7,8,9)
    println(listBuffer)

    //指定下标插入元素
    listBuffer.insert(2,20,30)
    println(listBuffer)

    //指定下标更新元素
    listBuffer.update(2,30)
    println(listBuffer)

    //删除指定元素,隻删除一個
    listBuffer -= 30
    println(listBuffer)

    //通過下标擷取元素

    println(listBuffer(1))

    /**
      * hashMap
      *
      */

    val hashMap = new mutable.HashMap[String, Int]()
    //增加元素
    hashMap += (("001",23))
    hashMap += "002" -> 24

    println(hashMap)

    //删除元素
    hashMap.remove("001")
    hashMap.-=("003")//沒有該key,不報錯
    println(hashMap)



    //更新元素,如果元素不存在,增加元素
    hashMap.update("003",25)
    hashMap.update("001",23)
    hashMap.update("002",30)
    println(hashMap)

    //map有的方法 HashMap 都有


    /**
      * HashSet
      *
      *
      */
    val hashSet = new mutable.HashSet[Int]()

    //增加删除元素
    hashSet += 1
    hashSet += 2
    hashSet -= 1

    hashSet.add(3)
    hashSet.remove(3)
    hashSet.remove(4)//删除沒有的元素不執行不報錯,和HashMap一樣
    println(hashSet)
  }
}