陣列的基礎介紹
陣列(Array)是一系列同類型資料的集合,運作方式可以用幾個簡單的例子說明,我們可以說一個班級由同類型的基礎元素:學生,加上一個導師構成,若要將這樣的結構寫入程式碼中,我們可以使用一個變數來存放導師,但實在不必用等同學生數量的變數來一一儲存每個學生,一般來說程式碼將會這麼寫:
class 老師 {...} class 學生 {...} var 導師:老師 var 同學:Array<學生> // 或者... var 同學 = [學生]()
藉由Array<類型>
指令或者[類型]()
指令,我們將會創建一個空的陣列,之後就能使用專門對陣列操作的指令,來幫它新增成員、移除成員或者調查總成員數等等。例如append()
指令將會新增一個成員:
class 學生 { var 名字:String init(_ 名字:String) { self.名字 = 名字 } } var 一年一班: Array<學生> 一年一班.append( 學生(名字:"張三") ) 一年一班.append( 學生(名字:"李四") )
現在一年一班裡面有兩個學生了,但是我們要用什麼指令取得他們的名字呢?在Array
這種結構裡面,電腦自動幫每個元素建立一個從0
開始的編號:
print ( 一年一班[0].名字 ) // 一年一班[0]是一個名為張三的學生 print ( 一年一班[1].名字 ) // 一年一班[0]是一個名為李四的學生 print ( 一年一班[2].名字 ) // 報錯,因為電腦在一年一班中找不到編號2的元素
如果不使用append()
方法慢慢增加學生的話,我們也可以在宣告陣列的時候就放入許多元素,以[
和]
包住,並用逗號隔開:
var 一年二班: Array<學生> = [ 學生(名字:"趙五"), 學生(名字:"錢六"), 學生(名字:"孫七") ]
可想而知,在創建本週範例程式碼中的世界
時,使用陣列來放置方塊上的整數資訊將會多方便...
var 世界的方塊: Array<Int> = [0,1,0,0,-1,0,0,-1,0,1...]