小記--------scala- 數組操作之Array、ArrayBuffer以及遍歷數組


1.Array
    在scala中,Array代表的含義與java中類似,也是長度不可改變的數組。此外,由於scala與java都是運行在JVM中,雙方可以相互調用, 因此Scala數組的底層實際上是Java數組。例如字符串數組在底層就是Java的String[] ,整數數組在底層就是Java的Int[].
 
在創建數組的時候,數據都是有值的,只是都是默認值 Int 是0 。
 
1.1 通過索引值進行Array賦值 
語法: 數組名(索引) = 值
 
1.2通過索引值取值
語法:  數組名(索引)
注意: Array的長度是不可變的, 在創建的時候就已經固定好長度。
 
2.ArrayBuffer
    在scala中,如果需要長度 可變的數組類就可以使用ArrayBuffer
但是如果想使用ArrayBuffer的話,
需要首先導入包: import scala.collection.mutable.ArrayBuffer
 
2.1 ArrayBuffer添加元素 
語法: ArrayBuffer名 +=  值  (添加單個值)
 
一次性添加多個值
語法: ArrayBuffer名 += (值, 值, 值)  
 
加入其它的ArrayBuffer 
語法 : ArrayBuffer名 ++= 其它ArrayBuffer名
 
刪除多個元素使用
語法: 數組名 .trimEnd(個數)  從尾部開始數個數
 
在指定位置插入一個元素 
語法: 數組名.insert(5,6)   5表示在索引位置為5   插入一個元素 6   插入單個元素
 
插入多個元素
語法: 數組名.insert(3,3,2,1)   第一個參數為插入位置,  之后的參數為插入的值
 
在指定位置移除元素
語法: 數組名.remove(1,2)  從索引為1的位置  移除2個元素(包含索引為1的元素)
 
3.Array和ArrayBuffer的相互轉換
語法:  數組名.toArray     數組名.toBuffer
 
4.遍歷Array和ArrayBuffer
   4.1 普通遍歷
 
4.2跳躍遍歷(2,4,6...)
 
4.3 從尾部開始遍歷  反轉
語法:  (0 until 數組名.length).reverse    反轉
 
4.4增強for循環遍歷
語法: for ( i <- 數組名)
 
5.數組常見的操作
5.1數組元素求和 
語法: 數組名.sum
 
5.2 獲取數組最大值
語法: 數組名.max
 
5.3對數組進行排序
語法: scala.util.Sorting.quickSort(數組名)
 
5.4獲取數組中所有元素內容
語法: 數組名.mkString
 
5.5數組轉換 yield
   
 使用yield和函數式編程轉換數組(通過yield構建一個新的數組)
案例:將數組a 的值的平方賦值給a2
注意:通過yield轉換的數組,本身數組是什么類型那么轉換好的數組也是什么類型。對於ArrayBuffer同樣適用
 
在yield中加入if 守衛
 
使用函數式編程轉換數組
 
算法案例:移除第一個負數之后的所有負數
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM