日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scala数组操作

發布時間:2025/4/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scala数组操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組操作

  • 初始化固定長度的數組
// 初始化長度為10的數組 val array = new Array[Int](10) // 初始化創建含有hello與Scala的數組 val s = Array("hello","scala")
  • 創建可變的數組(類似java的集合)
Scala中創建長度可變的數組,類似與java中的ArrayList一樣Scala提供了ArrayBuffer,下面是ArrayBuffer的用法: // 創建集合等同于下面的new ArrayBuffer[Int]() val b = ArrayBuffer[Int]() new ArrayBuffer[Int]() // 集合添加元素類似與java中的list.add()多次調用添加函數 b += (1, 2, 3, 4, 5, 6) // 可以追加新的集合元素類似java中的list.addAll() b ++=Array(7,8,9,10) // 移除前//5個元素b.trimStart(5)/*** 數組尾部刪除或者添加元素是非???#xff0c;但是中間 * 插入元素或者移除元素,操作較慢*/val c = new ArrayBuffer[Int]()c+=(1,2,3)// 在索引2處插入元素6c.insert(2,6)// ArrayBuffer(1, 2, 6, 3)// 刪除索引為2元素c.remove(2)// 刪除索引1后一個元素c.remove(1,1)有時候創建元素,不知道存儲多少元素可以創建數組緩存ArrayBuffer,然后調用toArray方法將緩沖區間轉為Array(類似于java中StringBuffer.toString方法)
  • 遍歷數組和數組緩沖
val a = ArrayBuffer[Int]()a+=(1,2,3,4,5,6)//遍歷數組(變量i取值從0到a.length-1)for(i<- 0 until a.length) println(a(i))println(a(i)// 遍歷偶數下標索引元素for(i<- 0 until (a.length,2)) println(a(i))// 倒著遍歷索引for(i<- (0 until a.length).reverse) println(a(i))// yield元素填充val result =for (e <- list) yield e *2// 數組轉換val list = Array(1, 2, 3, 4)// yield元素填充val result = for (e <- list) yield e * 2println(result.toBuffer)// 舍棄偶數元素val res = for (e <- list if e % 2 == 0) yield eprintln(res.toBuffer)// 也可以使用函數式編程使用filter和Mapval req = a.filter(_ % 2 == 0).map(2 * _)}
  • Scala的常用算法
Scala中有計算求和和排序val list = Array(1, 2, 3, 4)// 求和,求數組最大值,排序,而排序并不會影響原有的數組println(list.sum, list.max,list.sorted.toBuffer) 方法方法描述
def append(elems:A*):Unit方法接受多個類型為A的元素,例如b.append(1,2)將對b追加2個元素
def count(p:(A)=>Boolean):Int方法接受一個布爾值表達式,例如a.count(_>0)將會統計多個正數

方法demo

val list = Array(8, 5, 1, 2, 3, 4)val bs = list.sorted.toBufferbs.append(1,2)println(bs)// 統計集合大于4的元素個數println( bs.count(_ > 4))

轉載于:https://www.cnblogs.com/codegeekgao/p/9611730.html

總結

以上是生活随笔為你收集整理的Scala数组操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。