Scala集合

Scala集合

  • 数组
  • Map
  • List
  • Option&Some&None
  • Set
  • Tuple
  println("hello world!!")

  var arr = new Array[String](4)

  arr.length

  arr(1) = "hello"
  // 默认使用apply方法
  arr = Array("1", "2")
  // 数组转字符串 <1,2> 支持单个分隔符
  println(arr.mkString("<", ",", ">"))
  // 可变数组 支持动态增长
  val mutableArray = scala.collection.mutable.ArrayBuffer[Int]()
  mutableArray += 100
  mutableArray += (1, 2)
  mutableArray ++= Array(1, 2)
  mutableArray.insert(5, 112)
  mutableArray.remove(0, 2)
  //  mutableArray.trimEnd(3)
  println(mutableArray.mkString(","))
  //变为不可变数组
  mutableArray.toArray
  // 遍历
  for (i <- mutableArray) {
    println(i)
  }
  for (i <- (0 until mutableArray.length).reverse) {
    println(mutableArray(i))
  }
  println(mutableArray.max, mutableArray.sum, mutableArray.min, mutableArray.count({ x: Int => x > 2 }))

  //Nil 空集合
  var list = List(1, 2, 3, "4", Array(1, 2))
  // 头元素
  list.head
  // 除头元素后的元素
  list.tail
  list = 1 :: list
  list = list :: Nil
  println(list.mkString(","))

  // 可变list
  val listBuffer = scala.collection.mutable.ListBuffer[Int]()
  listBuffer += 1
  listBuffer ++= List(1, 4, 7)
  listBuffer -= 10
  println(listBuffer.mkString(","))
  for (item <- listBuffer) {
    println(item)
  }
  for (item <- listBuffer.indices.reverse) {
    println(listBuffer(item))
  }
  listBuffer.toList
  listBuffer.toArray
  listBuffer.isEmpty
  listBuffer.tail.head
  listBuffer.sum
  println(sum(listBuffer: _*))

  def sum(num: Int*): Int = {
    if (num.isEmpty) {
      0
    } else {
      num.head + sum(num.tail: _*)
    }
  }

  // set 去重
  val set = Set(1, 2, 4, 2)
  println(set.mkString(" "))
  scala.collection.mutable.Set[Int]()

  // map
  val map = Map("1" -> "2", 1 -> 2)
  println(map.get("1").getOrElse("2"))
  println(map("1"))
  println(map.mkString(","))
  println(map.values.foreach(x => println("打印", x)))
  val addMap = map ++ Map(111 -> 222)
  println(addMap)

  Some(2)

  None


  val tuple = Tuple3(1, 2, "2")
  println(tuple._1, tuple._2, tuple._3)
  tuple.productIterator.foreach(item => print(item))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值