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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

scala 入门(2)--数组相关操作

發布時間:2023/10/11 编程问答 76 如意码农
生活随笔 收集整理的這篇文章主要介紹了 scala 入门(2)--数组相关操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

scala 無論從數組的定義還是操作方面來說都跟java非常相似,但又有其獨特的強大之處…

1、 定長數組

對于長度不變的數組,可以用scala中的Array。

//scala 里使用new實例化對象。 實例化過程中,可以用值和類型使對象參數化(創建對象的同時完成對它的設置)

val nums = new Array[Int](5);  //含5個整數的數組,元素默認初始化為0;

val arr = new Array[String](10);  //含10個字符串的數組,元素默認初始化為null;

arr(0) = “hello”; //數據賦值

val s = Array("hello", "world"); //長度為2的String數組。類型:自動推斷。

注: jvm 中 scala的Array 是以 java數組的方式實現。 示例中的s 在jvm中的類型為 java.lang.String[];

2、變長數組

對于長度可變的數組,可以用scala中的ArrayBuffer。相應java中有ArrayList。

val nums = ArrayBuffer[Int]();

val nums = new ArrayBuffer[Int]           //一個空數組,準備存放整數。

nums += 1; //ArrayBuffer(1); 用+=在尾端添加元素。

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

nums ++=Array(6,7,8) //ArrayBuffer(1,2,3,4,5,6,7,8)  ++= 可以用來追加任何集合

nums.trimEnd(5) //ArrayBuffer(1,2,3)  移除最后五個元素。

nums.insert(2, 4)  //ArrayBuffer(1,2,4,3)  在下標2 前加一個元素 4;

nums.insert(2, 5, 6) //ArrayBuffer(1,2,5,6,4,3) 在下標2前插入多個元素

nums.remove(3) //ArrayBuffer(1,2,5,4,3) 移除第三個元素 (下標從0 始)

nums remove(2, 2)//ArrayBuffer(1,2, 3) 移除從第二個元素始的2個元素;

可變長數組轉換為定長數據只用掉用其toArray方法。如 nums.toArray;

反過來,調用 a.toBuffer;  

3、遍歷數組和數組緩沖

scala數組(數組緩沖)的遍歷,可以用for循環進行。如:

for(i <- 0 until a.length)

println(a(i));

//變量i 取 0 到 a.length;  until 是 RichInt類的方法, 返回小于上限的方法。

4、數組轉換

前邊講述了如何像Java那樣操作數組。不過在scala中,數組還有更強大的功能。如過濾,轉換等。例:

val a = Array(1,2,3,5,7);

val result = for(elem <- a) yield 2 * elem;

//result = Array(2,4,6,10,14); 此處轉變并不會改變原數組的值,而是產生一個全新的數組。即for() yield 創建一個類型與原始集合相同的新集合。 數集合中的元素包含yield 之后的表達式的值,每個循環對應一個。

另外對集合處理時,你若只想處理滿足條件的特定元素,這個需求可以通過守衛:for中的if 來實現。 若對a中奇數翻倍,則

for(elem <- a if elem % 2 == 1) yield 2 * elem;

5、常用算法

Array(1,2,4,6).sum  //計算數組的值

Array(1,4,2,6).sorted(_ < _); //排序 不改變原數組的值。

另外還有 append ,  appendAll, count, copyToArray, max等方法

總結

以上是生活随笔為你收集整理的scala 入门(2)--数组相关操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 美女又黄又免费的视频 | 日本骚少妇 | 狠狠插视频| 欧美mv日韩mv国产网站app | 亚洲欧美日韩一区 | 欧美激情婷婷 | 欧美亚洲综合一区 | 巨胸大乳www视频免费观看 | 福利电影一区二区三区 | 一区二区视频免费观看 | 青青草免费观看 | 国产欧美久久一区二区三区 | 素人女裸体 | 国产精品成人网 | 亚洲熟女一区二区三区 | 尤物一区二区 | 2019中文字幕在线观看 | av资源库 | 免费观看一级黄色片 | 久久久久久久久久久99 | 蜜桃传媒一区二区亚洲av | 天天视频黄色 | 中文字幕+乱码+中文乱码www | 极品美女高潮出白浆 | 九草视频在线观看 | 熟女俱乐部一区二区视频在线 | 天天做夜夜操 | 日韩视频在线观看一区二区 | 丁香久久| 色射色| 无码播放一区二区三区 | 亚洲图片欧美日韩 | 香蕉视频在线免费看 | 福利一区二区 | 日本十大三级艳星 | 久久视频国产 | 天天操天天爽天天干 | 好吊在线视频 | 99在线观看免费视频 | 韩国无码一区二区三区精品 | 波多野结衣乳巨码无在线观看 | 欧美xxxx18 | 国产热视频 | 中出亚洲 | 播金莲一级淫片aaaaaaa | 欧美成人免费网站 | 欧美大片黄色 | 午夜久久电影 | 少妇特黄一区二区三区 | 天天天天色 | aaaa黄色| 蜜乳av一区二区 | 日韩伦理在线视频 | 红桃视频91 | 欧美精品一区二区视频 | 国产原创剧情av | 成人中文视频 | 国产一区视频在线观看免费 | 毛片亚洲av无码精品国产午夜 | 污视频在线观看网址 | 亚洲av综合色区无码二区爱av | 国产亚洲精品久久久久婷婷瑜伽 | 欧美日韩亚洲第一 | www色综合| 国模私拍大尺度裸体av | 精品人妻一区二区三区蜜桃 | 男人和女人日b视频 | www.国产黄色 | 啪啪综合网 | 无码人妻少妇色欲av一区二区 | 大粗鳮巴久久久久久久久 | 色偷偷噜噜噜亚洲男人 | 欧美色第一页 | 极品久久久| 免费看一级片 | 女人被男人躁得好爽免费视频 | 成人爽a毛片一区二区 | 91成人精品视频 | 国产精品va在线观看无码 | 毛片88| 综合影院| 中文字幕伦理 | 96av在线| 天天添| jvid乐乐| 视频区小说区 | 国产69久久精品成人看 | 涩av| 四虎影视免费在线观看 | 清清草免费视频 | 91丨九色丨海角社区 | 一级影片在线观看 | 影音先锋在线看 | aa一级黄色片 | 日韩电影一区二区三区 | 国产精品50页 | 国产精品一区视频 | 牛牛av | 国产超碰在线 |