Kotlin でリストを作成する
Kotlin リストには、アイテムとも呼ばれるさまざまな要素が順番に格納されます。 これらの要素は特定の順序で格納されているため、インデックスを使用してアクセスできます。
リストには、可変と不変の 2 種類があります。 この記事では、Kotlin で可変リストと不変リストを作成する方法を説明します。
Kotlin で不変リストを作成する
Kotlin の不変リストでは、リストの要素へのアクセスと読み取りのみが許可されます。 不変リストを作成すると、それを変更することはできません。
標準ライブラリ listOf()
を使用して、Kotlin で不変リストを作成できます。 以下の例は、listOf
を使用して不変リストを作成する方法を示しています。
リストの 2 番目の要素にもアクセスします。インデックスは 1
です。
コード:
fun main(args: Array<String>) {
val immutableList = listOf("Hi", 1, "Welcome", null)
println(immutableList)
println("\nSecond element: ${immutableList[1]}")
}
出力:
[Hi, 1, Welcome, null]
Second element: 1
add()
関数を使用して上記のリストに要素を追加しようとすると、エラーがスローされます。 その理由は、listOf()
ライブラリにはそのような関数がなく、不変のリストになっているためです。
コード:
fun main(args: Array<String>) {
val immutableList = listOf("Hi", 1, "Welcome", null)
println(immutableList)
immutableList.add(2)
}
出力:
Unresolved reference: add
Kotlin で可変リストを作成する
可変リストを使用すると、作成後にそれらを変更できます。 したがって、後で変更する必要があるかもしれないリストを作成したい場合は、変更可能なリストが最適です。
Kotlin で変更可能なリストを作成するには、2つの方法があります。 1つ目は arrayListOf
() を使用する方法で、2つ目は mutableListOf()
を使用する方法です。
arrayListOf()
を使用して Kotlin でリストを作成する
arrayListOf()
関数は ArrayList を作成します。 この ArrayList は変更可能なリストです。
add()
、remove()
、removeLast()
など、さまざまな関数を使用してリストを変更できます。上記と同じ例を使用して、番号 2 をリストに追加します。
コード:
fun main(args: Array<String>) {
val arrayList = arrayListOf("Hi", 1, "Welcome", null)
println(arrayList)
arrayList.add(2)
println(arrayList)
}
出力:
[Hi, 1, Welcome, null]
[Hi, 1, Welcome, null, 2]
mutablListOf()
を使用して Kotlin でリストを作成する
mutableListOf()
ライブラリは、arrayListOf()
ライブラリと同様に機能します。 実際、mutableListOf()
は内部で ArrayList
を使用しています。
mutableListOf()
関数を使用して、上記と同じリストを作成しましょう。
コード:
fun main(args: Array<String>) {
val mutableList = mutableListOf("Hi", 1, "Welcome", null)
println(mutableList)
mutableList.add(2)
println(mutableList)
}
出力:
[Hi, 1, Welcome, null]
[Hi, 1, Welcome, null, 2]
listOfNotNull()
メソッドを使用して Kotlin リストで Null
を回避する
リストに null
値を持たせたくない場合は、listOfNotNull()
関数を使用できます。 これにより、null
値を受け入れない不変リストが作成されます。
コード:
fun main(args: Array<String>) {
val notNullList = listOfNotNull("Hi", null, 1, "Welcome", null)
println(notNullList)
}
出力:
[Hi, 1, Welcome]
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn