Scala的学习1-数组和集合类型的总结

一数组:

1.不可变数组:

  定义:

val arr1 = new Array[Int](10)
val arr1 = Array(1, 2)

增加元素:

    val arr1=Array(1,2,3,4)
    val arr2: Array[Int]=arr1 :+ 5 //数组后面添加元素
    val arr3: Array[Int]=0 +: arr2 //数组前面增加元素

2.可变数组:

定义:

import scala.collection.mutable.ArrayBuffer //需要导入
val arr4=ArrayBuffer(22,33,44)

增加元素:

    val arr4=ArrayBuffer(22,33,44)
    arr4+=55//数组后面添加元素
    11 +=: arr4  //数组前面添加元素

    arr4.append(88,99)//后面添加元素
    arr4.prepend(1,2) //前面添加元素
    for(i<-arr4){
      println(i)
    }

3.多维数组:

val arr = Array.ofDim[Double](3,4)

二List(数据有序,不重复)

1.不可变List:

    val list=List(1,2,3,4)
    val list1=5::list//::从右往左增加元素
    val list2=list :+ 6 :+7 :+ 8 
    // 增加元素 
    // 5 +: list (前面增加元素)
    // list +: list (后面增加元素)
    val list3=list1:::list2 //::: 将两个List合并 或者++

2.可变List:

    import scala.collection.mutable.{ArrayBuffer, ListBuffer}//需要导入
    val listBuffer=ListBuffer(3,4,5)
    listBuffer.append(6)//后面添加
    listBuffer.prepend(1)//前面添加
    listBuffer += 7 // +=后面添加
    2 +=: listBuffer // +=: 前面添加
    listBuffer.foreach(print) 

三.Set(数据无序,不重复)

因为Set是无序的,所以无所谓前面添加元素,还是后面添加元素

import scala.collection.mutable
object Test_Set {
  def main(args: Array[String]): Unit = {
     val set=mutable.Set(4,5,6,7)
     set += 3 //添加
     set -= 7 //删除
    set.add(2) //添加
    set.remove(6) //删除
    set.foreach(print)
  }
}

四.Map集合(数据按key有序)

key-value键值对

1.不可变Map:

    val map=Map("a"->1,"b"->2,"c"->3)
    for(k<- map.keys){
      println(s"key= $k value= ${map.get(k).get}")
      // 因为get访问Map集合的时候,会返回一个特殊类型Option选项
      // Option中包含有值Some 和无值:None
      //map.get(k)若是Some类型的,再进一步调用get函数,取得key所对应的value

    }

2.可变的Map:

package scala.ssy.Learning.Six
import scala.collection.Map
import scala.collection._
object Test_Map {
  def main(args: Array[String]): Unit = {
     val map=mutable.Map("b"->2,"c"->3,"d"->4)
     val map1=mutable.Map("b"->3,"c"->1,"d"->2,"e"->5)
    map.put("a",1)
    map.remove("d")
    map1 ++= map //map1会把map中没有的元素并入,然后有的值会用map中的更新
    map.foreach(print)
    println()
    map1.foreach(print)
  }
}

五.Tuple(将多个无关的数据封装成一个整体)

package scala.ssy.Learning.Six

object Test_Tuple {
  def main(args: Array[String]): Unit = {
    val tuple:(Int,String,Boolean)=(1,"hello",true)
    println(tuple._1)
    println(tuple._2)
    println(tuple._3)

    for(elem<- tuple.productIterator){//迭代器访问
      println(elem)
    }
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值