LoginSignup
1
1

More than 1 year has passed since last update.

【kotlin】配列 使い方

Last updated at Posted at 2021-06-18

■配列の作成

大きく分けて2つある。

■arrayOf関数で配列を作成

arrayOf関数を使っているので最初は小文字です。

val ary = arrayOf("あ","い","う","え")

▼arrayOfは何の型でも入る。

val ary = arrayOf(1,2,3,4)
//いろんな型でも入る。何でも入るから
val ary = arrayOf("あ",1,2.5,"え")

■型の指定パフォーマンスの向上処理速度が速くなる。

型を指定するだけではarrayOf()メソッドの型にArray<型>で指定はできますが

下記のintArrayOf等を使えば型を指定できる上、処理速度が上がります。

ソース
https://qiita.com/KenjiOtsuka/items/e3d42f34ee731747220d

//整数しか入らんでー
val ary: IntArray = intArrayOf(1,2,3,4)
//型推論もできる。
val ary = intArrayOf(1,2,3,4)

Int      型名:IntArray     intArrayOf()
Short    型名:ShotArray    shortArrayOf()
Long     型名:LongArray    longArrayOf()
Byte     型名:ByteArray     byteArrayOf()
Boolean  型名:BooleanArray  booleanArrayOf()
Float    型名:FloatArray    floatArrayOf()
Double   型名:DoubleArray   doubleArrayOf()

string型だけ arrayOf()を使う

■arrayOfNullsメソッドでnullの配列を作る。

値は後から入れる予定、要素数だけを指定

■要素の型を必ず指定しその横に?を書く
Array<型?>

■引数に要素数を入れる。
arrayOfNulls(要素数)

val ary: Array<Int?> = arrayOfNulls(3)

//結果: [null,null,null]

■Arrayクラスのコンストラクタで作成

要素数とラムダ式で作成する。

//itには0からの整数5つ分が入る。
val ary = Array(5){it}
//結果: [0,1,2,3,4]

■配列の型パラメータ arrayOf()メソッドの型

arrayOf()メソッドの型指定をしたい!!

■arrayOf()メソッドの型名の書き方
Array<型>です。
<>内を型パラメータと呼びます。

//String型で固定されています。
val a: Array<String> = arrayOf("あ","い","う")
//Int型で固定されています。
val b: Array<Int> = arrayOf(1,2,3,4)
//Any型で何でも入るようになっています。
val c: Array<Any> = arrayOf(1,2.4,"あ")

■配列の操作

val a = arrayOf("うどん","からあげ","焼肉")

//インデックス番号で指定
println(a[2])
//結果:焼肉

//インデックス番号0番目のうどんを寿司に変更
a[0] = "寿司"

//配列の最後にデザートを追加
a += "デザート"

//配列の中身全部を表示
println(a.forEach{println(it)})
//結果: 寿司、からあげ、焼肉、デザート

▼for文かforEach文で配列の中身全部を指定

val a = arrayOf("うどん","からあげ","焼肉")
//itはfor文のiが入る。
for(i in a){println(it)}
//結果: うどん、からあげ、焼肉

//結果は上と同じ
a.forEach{println(it)}
//結果: うどん、からあげ、焼肉
1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1