Scala数据结构简单介绍

数据结构的定义:

 1.数组(Array)

        (1)定义:

        定长数组:new Array[T](数组长度)

        变长数组:ArrayBuffer[T]()

        (2)示例:

        定长数组:val arr1 = new Array[Int](3)

        变长数组(需提前导包):val arr2 = ArrayBuffer[Int]()

2.元组(Tuple)

        (1)定义:

        val tuple = (元素,元素...)

        (2)示例:

        val tuple = (“BigData”,2015,45.0)

3.列表(List)

表现形式一:

//字符串
val fruit = “apples”::(“oranges”::(“pears”::Nil))
//整型
val nums = 1::(2::(3::(4::Nil)))
//空列表
val empty = Nil
//二维列表
val dim = (1::(0::(0::Nil)))::
          (0::(1::(0::Nil)))::
          (0::(0::(1::Nil)))::Nil

表现形式二:

//字符串
val fruit:List[String] = List(“apples”,”oranges”,”pears”)
//整型
val nums:List[Int] = List(1,2,3,4)
//空
val empty:List[Nothing] = List()
//二维列表
val dim:List[List[Int]] = 
      List(
      List(1,0,0),
      List(0,1,0),
      List(0,0,1)
)

4.集合(Set)

        (1)定义:

        val set:Set[Int] = Set(1,2,3,4,5)

        (2)示例:

        val nums:Set[Int] = Set()

5.映射(Map)

        (1)定义:

        var A:Map[Char,Int] = Map(键 -> 值,键 -> 值...)

        (2)示例:

        Var university = Map(“XMU” -> “Xiamen University”,”THU” -> “Tsinghua University”,”PKU” -> “Peking University”)

6.迭代器(Iterator)

        val iter = Iterator(“Hadoop”,”Spark”,”Scala”)

数据结构的对比:

        (1)数组(Array): 用来存储数据类型相同的元素,分为定长数组和变长数组,定义定长数组需要使用new关键字,定义变长数组需要导入包

        (2)元组(Tuple): 是对不同类型对象的一种简单封装,它将不同的值用小括号括起来,并用逗号做分隔,即表示元组。在Scala中,可以通过使用zip命令将多个值绑定在一起。

        (3)列表(List): 列表的所有元素都具有相同类型,列表是不可变的

        (4)集合(Set): Set是没有重复对象的集合,所有元素都是唯一的,有可变集合(使用时需要导入包)和不可变集合。

        (5)映射(Map): 一种可迭代的键值对结构,键是唯一的,值不是唯一的,所有值都是通过键来获取,有可变Map(可修改)和不可变Map(不可修改),使用可变Map时需要导入import scala.collection.mutable.Map类。

        (6)迭代器(Iterator): 是一次性的,通常只能遍历一次集合,一旦遍历完成,迭代器就不能再被使用。如果需要再次遍历,必须重新创建一个新的迭代器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值