「大數據」(八十八)Scala之數組

【導讀:數據是二十一世紀的石油,蘊含巨大價值,這是·情報通·大數據技術系列第[88]篇文章,歡迎閱讀和收藏】

1 基本概念

Scala 語言中提供的數組是用來存儲固定大小的同類型元素,數組對於每一門編程語言來說都是重要的數據結構之一。

聲明數組變量並不是聲明 number0 、 number1 、 ... 、 number99 一個個單獨的變量,而是聲明一個就像 numbers 這樣的變量,然後使用 numbers[0] 、 numbers[1] 、 ... 、 numbers[99] 來表示一個個單獨的變量。數組中某個指定的元素是通過索引來訪問的。

數組的第一個元素索引為 0 ,最後一個元素的索引為元素總數減 1 。

2 術語解釋

數組是一種用來存儲固定大小的同類型元素的數據結構。

3 詳細說明

以下是 Scala 數組聲明的語法格式:

var z:Array[String] = new Array[String](3)

var z = new Array[String](3)

以上語法中, z 聲明一個字符串類型的數組,數組長度為 3 ,可存儲 3 個元素。我們可以為每個元素設置值,並通過索引來訪問每個元素,如下所示:

「大數據」(八十八)Scala之數組

z(0) = "Runoob"; z(1) = "Baidu"; z(4/2) = "Google"

最後一個元素的索引使用了表達式 4/2 作為索引,類似於 z(2) = "Google" 。

我們也可以使用以下方式來定義一個數組:

var z = Array("Runoob", "Baidu", "Google")

下圖展示了一個長度為 10 的數組 myList ,索引值為 0 到 9 :

3.2 處理數組

數組的元素類型和數組的大小都是確定的,所以當處理數組元素時候,我們通常使用基本的 for 循環。

以下實例演示了數組的創建,初始化等處理過程:

<code>object Test {

def main(args: Array[String]) {

var myList = Array(1.9, 2.9, 3.4, 3.5)

// 輸出所有數組元素

for ( x
\t\t\t\tprintln( x )
}

// 計算數組所有元素的總和

var total = 0.0;


for ( i
\t\t\t\ttotal += myList(i);
}

println(" 總和為 " + total);

// 查找數組中的最大元素

var max = myList(0);

for ( i
\t\t\t\t\tif (myList(i) > max) max = myList(i);
}

\t\t\t\tprintln(" 最大值為 " + max);

}
}/<code>


執行以上代碼,輸出結果為:

<code>$ scalac Test.scala

$ scala Test

1.9

2.9

3.4

3.5

總和為 11.7

最大值為 3.5/<code>

3.3 多維數組

多維數組一個數組中的值可以是另一個數組,另一個數組的值也可以是一個數組。矩陣與表格是我們常見的二維數組。

以上是一個定義了二維數組的實例:

var myMatrix = ofDim[Int](3,3)

實例中數組中包含三個數組元素,每個數組元素又含有三個值。

接下來看一個二維數組處理的完整實例:

<code>import Array._

object Test {

def main(args: Array[String]) {

var myMatrix = ofDim[Int](3,3)

// 創建矩陣

for (i
for ( j
myMatrix(i)(j) = j;

}
}

// 打印二維陣列

for (i
for ( j
\t\t\t\tprint(" " + myMatrix(i)(j));

}

\t \t\t\t\tprintln();
}
}
}/<code>

運行實例 »

執行以上代碼,輸出結果為:

<code>$ scalac Test.scala

$ scala Test

0 1 2

0 1 2

0 1 2/<code>


分享到:


相關文章: