• <li id="oiayd"><ruby id="oiayd"></ruby></li>

    <acronym id="oiayd"><strong id="oiayd"></strong></acronym>

    <acronym id="oiayd"></acronym>
    <track id="oiayd"><ruby id="oiayd"></ruby></track>
  • <track id="oiayd"><ruby id="oiayd"><menu id="oiayd"></menu></ruby></track>

  • 400-650-7353
    您所在的位置:首页 > IT干货资料 > 大数据 > 【大数据基础知识】Scala中的数组

    【大数据基础知识】Scala中的数组

    • 发布: 大数据培训
    • 来源:大数据干货资料
    • 2021-11-03 14:44:14
    • 阅读()
    • 分享
    • 手机端入口

    Scala中的数组分为了不可变的数组Array和可变数组ArrayBuffer。可变数组指的是长度不可变,内容可变。可变数组指的是长度和内容都可变。Scala中默认使用的是不可变数组,要使用可变数组,要先导入才能使用。

    1. 不可变数组Array

    定义方式一:

    scala> val arr1=Array[Int](1,3,5,6,8)

    arr1: Array[Int] = Array(1, 3, 5, 6, 8)

    scala> val arr2=Array(2.6,5.8,9.99)

    arr2: Array[Double] = Array(2.6, 5.8, 9.99)

    从上面示例中可以看到,用这种方式定义数组时,可以指明数组类型,也可以不指定。不指定时会根据数据类型自动推断数组的类型。

    定义方式二:

    scala> val arr3=new Array[Int](5)

    arr3: Array[Int] = Array(0, 0, 0, 0, 0)

    使用此种方式定义时,必须指明数组类型和长度。定义的同时,会给各元素赋初值。

    取值与赋值:

    scala> arr1(0)

    res3: Int = 1

    scala> arr1(3)=10

    scala> arr1(6)

    java.lang.ArrayIndexOutOfBoundsException: 6

    ... 32 elided

    取值与赋值都是使用数组的下标,下标索引从0开始。同样要注意下标越界的问题。

    2. 可变数组ArrayBuffer

    要使用可变数组,首先要导入:

    scala> val ab=ArrayBuffer(1,2,3,4,5,6)

    :11: error: not found: value ArrayBuffer

    val ab=ArrayBuffer(1,2,3,4,5,6)

    如果不导入直接使用,会报上述错误。

    scala> import scala.collection.mutable.ArrayBuffer

    import scala.collection.mutable.ArrayBuffer

    scala> val ab=ArrayBuffer(1,2,3,4,5,6)

    ab: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3, 4, 5, 6)

    scala> val ab2=new ArrayBuffer[Int]()

    ab2: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()

    从上例中可以看到,ArrayBuffer的定义同样可以采用两种形式。因为长度是可变的,所以采用第二种方式定义时,可以不用指定长度,只指明类型即可。

    文章“【大数据基础知识】Scala中的数组”已帮助

    >>本文地址:http://www.seyoho.com/zhuanye/2021/70697.html

    THE END  

    声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

    1 您的年龄

    2 您的学历

    3 您更想做哪个方向的工作?

    获取测试结果
    • 大前端大前端
    • 大数据大数据
    • 互联网营销互联网营销
    • JavaJava
    • Linux云计算Linux
    • Python+人工智能Python
    • 嵌入式物联网嵌入式
    • 全域电商运营全域电商运营
    • 软件测试软件测试
    • 室内设计室内设计
    • 平面设计平面设计
    • 电商设计电商设计
    • 网页设计网页设计
    • 全链路UI/UE设计UI设计
    • VR/AR游戏开发VR/AR
    • 网络安全网络安全
    • 新媒体与短视频运营新媒体
    • 直播带货直播带货
    • 智能机器人软件开发智能机器人
     

    快速通道fast track

    近期开班时间TIME

    日韩一级a片无卡顿

  • <li id="oiayd"><ruby id="oiayd"></ruby></li>

    <acronym id="oiayd"><strong id="oiayd"></strong></acronym>

    <acronym id="oiayd"></acronym>
    <track id="oiayd"><ruby id="oiayd"></ruby></track>
  • <track id="oiayd"><ruby id="oiayd"><menu id="oiayd"></menu></ruby></track>