91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala中怎么定長數組

發布時間:2021-12-09 09:28:32 來源:億速云 閱讀:404 作者:iii 欄目:編程語言

這篇文章主要講解了“Scala中怎么定長數組”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Scala中怎么定長數組”吧!

1. 定長數組

創建一個定長數組的方式

Scala中怎么定長數組

使用Array定義一個長度不變的數組

object ArrayDemo {
  def main(args: Array[String]){
    //初始化一個長度為8的定長數組,其所有元素均為0
    val arr1 = new Array[Int](8)
    //直接打印定長數組,內容為數組的hashcode值
    println(arr1)
    //將數組轉換成數組緩沖,就可以看到原數組中的內容了
    //toBuffer會將數組轉換長數組緩沖
    println(arr1.toBuffer)

    //注意:如果不使用new獲取數組,相當于調用了數組的apply方法,直接為數組賦值
    //初始化一個長度為1,值為10的定長數組
    val arr2 = Array[Int](10)
    //輸出數組元素值
    println(arr2.toBuffer)

    //定義一個長度為3的定長數組
    val arr3 = Array("hadoop", "storm", "spark")
    //使用()來訪問元素
    println(arr3(2))

    //包含10個整數的數組,初始化值為0 
    val nums = new Array[Int](10)
    //遍歷數組
    for(i <- 0 until nums.length)
      print(s"$i:${nums(i)} ")
      println()

    //包含10個字符串的數組,初始化值為null
    val strs0 = new Array[String](10)
    for(i <- 0 until strs0.length)
      print(s"$i:${strs0(i)} ")
      println()

    //賦初值的字符串數組
    val strs1 = Array("hello" ,"world")
    for(i <- 0 until strs1.length)
      print(s"$i:${strs1(i)} ")
      println()

    //訪問并修改元素值
    strs1(0) = "byebye"
    for(i <- 0 until strs1.length)
      print(s"$i:${strs1(i)} ")
      println()

  }
}

result

Scala中怎么定長數組

2. 變長數組

定義變長數組的方式:

Scala中怎么定長數組

使用 ArrayBuffer定義長度按需變化的數組。

import scala.collection.mutable.ArrayBuffer

object VarArrayDemo {
  def main(args: Array[String]){
    //定義一個空的可變長Int型數組
    val nums =  ArrayBuffer[Int]()

    //在尾端添加元素
    nums += 1

    //在尾端添加多個元素
    nums += (2,3,4,5)

    //使用++=在尾端添加任何集合
    nums ++= Array(6,7,8)

   //這些操作符,有相應的 -= ,--=可以做數組的刪減,用法同+=,++=
      
   //使用append追加一個或者多個元素
    nums.append(1)
    nums.append(2,3)
      
   //在下標2之前插入元素
    nums.insert(2,20)
    nums.insert(2,30,30)    

    //移除最后2元素
    nums.trimEnd(2)
    //移除最開始的一個或者多個元素
    nums.trimStart(1)
   
    //從下標2出移除一個或者多個元素
    nums.remove(2)
    nums.remove(2,2)
      
      
   //使用增強for循環進行數組遍歷   
    for(elem <- nums)
      println(elem)
      
    //基于下標訪問使用增強for循環進行數組遍歷
    for(i <- 0 until nums.length)
      println(nums(i))

  }
}

執行結果:

Scala中怎么定長數組

3. 遍歷數組

1.增強for循環,參見變長數組的代碼

2.好用的until會生成腳標,0 until 10 包含0不包含10 參見定長數組部分代碼4.1.4. 數組轉換

4. 數組轉換

yield關鍵字將原始的數組進行轉換會產生一個新的數組,原始的數組不變

bject ArrayTransfer {

  def main(args: Array[String]): Unit = {

    //使用for推導式生成一個新的數組
    val a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
    val res1 = for(elem <- a) yield 2*elem
    for(elem <- res1)
      print(elem+" ")
    println()

    //對原數組元素過濾后生成一個新的數組
    //將偶數取出乘以10后再生成一個新的數組
    val res2 = for(elem <- a if elem%2 == 0)yield 2*elem
    for(elem <- res2)
      print(elem+" ")
    println()

    //使用filter和map轉換出新的數組
    val res3 = a.filter(_ % 2 == 0).map(2 * _)
    for(elem <- res3)
      print(elem+" ")
    println()
  }

執行結果:

Scala中怎么定長數組

5. 數組常用算法

在Scala中,數組上的某些方法對數組進行相應的操作非常方便!

object ArrayAlgorithm {
  def main(args: Array[String]): Unit = {

    val a = Array(9, 1, 2, 5, 3, 7, 8, 4)

    //求和
    val res1 = a.sum
    println(res1)

    //求最大值
    val res2 = a.max
    println(res2)

    //排序
    val res3 = a.sorted
    // val res4 = a.sortWith(_>_)指定排序方式
    for(elem <- res3)
      print(elem + " ")
  }
}

執行結果:

Scala中怎么定長數組

感謝各位的閱讀,以上就是“Scala中怎么定長數組”的內容了,經過本文的學習后,相信大家對Scala中怎么定長數組這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屏山县| 桐柏县| 苗栗县| 开江县| 营山县| 宜春市| 铜山县| 子洲县| 柳河县| 罗甸县| 阜新市| 安多县| 郎溪县| 修文县| 台中县| 黄浦区| 河源市| 周至县| 深州市| 砀山县| 济源市| 汝南县| 赤壁市| 崇义县| 姜堰市| 鹿泉市| 军事| 通道| 江门市| 枣庄市| 佳木斯市| 锡林浩特市| 民和| 图木舒克市| 榆树市| 龙井市| 乐清市| 阳信县| 思茅市| 怀化市| 邓州市|