kotlin.collectionsの紹介〜初心者編〜
こんにちは、株式会社イエソドのtsukakeiです
これはKotlin Advent Calendar 2021 8日目の記事です
みなさん、Kotlinは好きですか?私は大好きです!
Kotlinではコレクション系の便利メソッドを標準ライブラリとして提供してくれています
なかなか他の言語にはないメソッドも多くあるので紹介したいと思います!
ちなみに、今回は初心者編です
コレクションにはList・Map・Setの3種類があります
これは他のプログラミング言語とも共通な概念なので説明は割愛します
Kotlinでは、読み取り専用のコレクションとミュータブルなコレクションがあります
裏の実装は同じですが、インタフェースによって読み取り専用のコレクションは要素の追加・修正・削除ができないようになっています
読み取り専用のコレクションがList・Map・Setで、ミュータブルなコレクションがMutableList・MutableMap・MutableSetになります
ファクトリメソッド
各コレクションのインスタンスを作成するためのメソッドです
List | Map | Set | |
---|---|---|---|
読み取り専用 | listOf |
mapOf |
setOf |
ミュータブル | mutableListOf |
mutableMapOf |
mutableSetOf |
ちなみに、初心者編のレベルではないですが、nullを取り除いてくれるlistOfNotNull
・mapOfNotNull
・setOfNotNull
というメソッドもあります
fun main() {
val list = listOfNotNull(1, null, 2)
println(list) // [1, 2]
}
forEach
forEach
は、渡したactionをコレクションの各要素に対して実行します
fun main() {
val list = listOf(1, 2, 3)
list.forEach { println(it) }
}
1
2
3
map
map
は、渡したtransformをコレクションの各要素に対して実行し、その結果を収納したListを返します
fun main() {
val numbers = listOf(1, 2, 3)
val doubleNumbers = numbers.map { it * 2 }
pinrtln(doubleNumbers) // [2, 4, 6]
}
filter
filter
は、渡したpredicateをコレクションの各要素に対して実行し、trueになった要素のみを収納したListを返します
fun main() {
val numbers = listOf(1, 2, 3)
val evenNumbers = numbers.filter { it % 2 == 0 }
pinrtln(evenNumbers) // [2]
}
おわりに
今回は初心者編ということで基本的なメソッドばかり取り上げてみました!
次回は初級編をお届けしたいと思います
ありがとうございました!
Discussion