新人エンジニアの三上です。
今回は、配列に対する操作の中で、私が実際に使用したことのあるものをまとめてみようと思う。
for
配列の要素をループごとに変数に代入し、そのループ内で変数を使用する。
以下にサンプルコードを示す。
val sampleList = [0,1,2,3,4,5]
for (sample in sampleList) {
if (sample == 2) {
println(sample)
}
}
配列 sampleList の要素を 変数 sample に設定し、sample に対し、条件判定を行うことで、任意の要素を出力する。
forEach
for と処理は同様だが、記載の方法が異なる。
以下にサンプルコードを示す。
val sampleList = [0,1,2,3,4,5]
sampleList.forEach {sample =>
if (sample == 2) {
println(sample)
}
}
for と同様であるため、省略。
ここで、sample を定義せずとも、forEach 内では it として各要素を指定することが出来る。
明示的に変数を定義する方が、各変数の意味が分かりやすいため、変数定義することが望ましい。
find
配列内の要素に対して、条件判定を行い、その条件を満たす要素を取得する。
以下にサンプルコードを示す。
val sampleList = [0,1,2,3,4,5]
val findSample = sampleList.find (sample =>
sample == 2
}
ここで、戻り値は条件判定を満たす配列内の1つ目の要素となる。型としてはInt型である。
filter
配列内の要素に対して、条件判定を行い、その条件を満たす要素で構成された配列を取得する。
以下にサンプルコードを示す。
val sampleList = [0,1,2,3,4,5]
val filterdList = sampleList.filter (sample =>
sample == 2
)
ここで、戻り値の型は sampleList と同じ Int 型の配列である。
まとめ
同様の操作でも上記の操作を使い分けることで、コード量を抑えることが出来る。
また、処理の内容を簡潔で分かりやすく記載することが出来る。
以上、三上でした。