Kotlin數(shù)組

數(shù)組在Kotlin中使用Array類來表示桑腮。下面巴拉一下Kotlin數(shù)組和Java數(shù)組的區(qū)別抖坪。

Java中的數(shù)組通常的聲明方式有以下兩種:

int[] intArray = new int[6];//表達(dá)式:數(shù)據(jù)類型[]   標(biāo)識  =   new  數(shù)據(jù)類型[長度];
String[] strArray = {"value0","value1"};//表達(dá)式: 數(shù)據(jù)類型[]  標(biāo)識  = {value0,value1,...}

Kotlin的數(shù)組Array類中定義了get瘦棋、set函數(shù)以及size(相當(dāng)于java數(shù)組的length)的屬性被廓。

Kotlin中創(chuàng)建數(shù)組:

  • 一般創(chuàng)建數(shù)組,直接使用arrayOf(),就可以創(chuàng)建一個數(shù)組
val arr = arrayOf(1, 2, 3)
  • 基本類型數(shù)組:ByteArray,LongArray等這些類是基本類型數(shù)組党觅,但是跟Array類沒有繼承關(guān)系术荤,但是它們有相同的屬性集倚喂。Kotlin中的數(shù)組是不能型變得,也就是說Array<Int>不能賦值給Array<Any>
 val intArr: IntArray = intArrayOf(1,2,3)
 val longArr: LongArray = longArrayOf(1L,2L,3L)
 val floatArr: FloatArray = floatArrayOf(1.0f,2.0f,3.0f)
 val doubleArr: DoubleArray = doubleArrayOf(1.0,2.02,3.03333)
 val booleanArr: BooleanArray = booleanArrayOf(false,true,false)
  • 創(chuàng)建指定長度的數(shù)組且無元素瓣戚,相當(dāng)于 java中的 int[] intArray = new int[6]
val fixedSizeArr = arrayOfNulls<Int>(6)  //arrayOfNulls<數(shù)據(jù)類型>(長度)务唐,默認(rèn)值都是null
  • 使用閉包進(jìn)行初始化,
 val arr = Array(3,{it -> it.inc()})//參數(shù)1:數(shù)組大小带兜,參數(shù)2:一個函數(shù)參數(shù)的工廠函數(shù)
 for(i in arr){
     println(i)
 }
結(jié)果:
1
2
3
  • 創(chuàng)建空數(shù)組
 val empty = emptyArray<Int>()
  • 固定長度的基本類型數(shù)組,基本類型數(shù)組比Array多一個主構(gòu)造函數(shù)枫笛,可以僅用傳入長度,就可以創(chuàng)建一個基本類型對象
val intArray = IntArray(3)
val arr = Array(3)  //編譯錯誤

訪問數(shù)組的元素

 val intArr = intArrayOf(1,2,3)
 for(item in intArr){
     println(item)//遍歷intArr里面的元素刚照,item就是元素本身
 }
 for (index in intArr.indices){
     println(intArr[index])//遍歷initArr索引的元素刑巧,從0開始
     println(intArr.get(index))//可以通過get(索引)來獲取元素
 }

修改數(shù)組數(shù)據(jù)

 val intArr = intArrayOf(1,2,3)
 for (index in intArr.indices){
     intArr[index] = 0 //與java一樣,可以這樣修改數(shù)據(jù)
     intArr.set(index,1) //kotlin可以通過set函數(shù)進(jìn)行修改數(shù)據(jù)
 }

二維數(shù)組

//基本類型的二維數(shù)組
val arr = Array(3){IntArray(3)}//三個長度為3的Int數(shù)組的二維數(shù)組
    print(arr[1][1])
   for (one in arr){
       println()
       for (two in one){
           print(two)
       }
   }
//自定義類型的二維數(shù)組
fun main(args: Array<String>) {
 //三個長度為3的Demo類型的二維數(shù)組无畔,自定義類型的話需要在大括號里面操作
 val arrClass = Array(3){Array<Demo>(3,{i: Int -> Demo(i) })}
 for (demos in arrClass){
     println()
     for (demo in demos){
         print("${demo.mNum}  ")
     }
  }
}
class Demo(num: Int){
    var mNum: Int? = null
    init {
        this.mNum = num
    }
}

三維數(shù)組以及多維數(shù)組

//你要的三維數(shù)組  ( ̄▽ ̄)"
  val arr = Array<Array<IntArray>>(3){Array<IntArray>(3){IntArray(3)}}

什么啊楚?發(fā)生了什么?kotlin;胝谩9Ю怼!我問你郭变,你的簡介易讀性呢颜价??

O(∩_∩)O 不存在的

//嫌棄  (ノ`Д)ノ
val arrA = Array<Array<IntArray>>(3){Array<IntArray>(3){IntArray(3)}}
   
   
 /正解
val arrB = Array(3){Array(3){IntArray(3)}}
for (one in arrB)
    for (two in one)
        for (three in two)
            println(three)

多維數(shù)組繼續(xù)嵌套就可以咯诉濒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末周伦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子未荒,更是在濱河造成了極大的恐慌专挪,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件片排,死亡現(xiàn)場離奇詭異寨腔,居然都是意外死亡,警方通過查閱死者的電腦和手機率寡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門迫卢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勇劣,你說我怎么就攤上這事靖避√对妫” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵幻捏,是天一觀的道長盆犁。 經(jīng)常有香客問我,道長篡九,這世上最難降的妖魔是什么谐岁? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮榛臼,結(jié)果婚禮上伊佃,老公的妹妹穿的比我還像新娘。我一直安慰自己沛善,他們只是感情好航揉,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著金刁,像睡著了一般帅涂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尤蛮,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天媳友,我揣著相機與錄音,去河邊找鬼产捞。 笑死醇锚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坯临。 我是一名探鬼主播焊唬,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼尿扯!你這毒婦竟也來了求晶?” 一聲冷哼從身側(cè)響起焰雕,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤衷笋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后矩屁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辟宗,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年吝秕,在試婚紗的時候發(fā)現(xiàn)自己被綠了泊脐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡烁峭,死狀恐怖容客,靈堂內(nèi)的尸體忽然破棺而出秕铛,到底是詐尸還是另有隱情,我是刑警寧澤缩挑,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布但两,位于F島的核電站,受9級特大地震影響供置,放射性物質(zhì)發(fā)生泄漏谨湘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一芥丧、第九天 我趴在偏房一處隱蔽的房頂上張望紧阔。 院中可真熱鬧,春花似錦续担、人聲如沸擅耽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秫筏。三九已至,卻和暖如春挎挖,著一層夾襖步出監(jiān)牢的瞬間这敬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工蕉朵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留崔涂,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓始衅,卻偏偏與公主長得像冷蚂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子汛闸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容