0
0

More than 1 year has passed since last update.

Kotlinで可変長のリストを作成する方法

Posted at

Kotlinでは、可変長のリストを作成するために、ArrayListとmutableListOfという2つのクラスが用意されています。どちらもリストの要素を追加や削除したり、インデックスでアクセスしたりすることができますが、内部的な実装や機能に違いがあります。この記事では、それぞれの特徴や使い方について解説します。

ArrayList

ArrayListはJavaのjava.util.ArrayListクラスを継承したクラスです。そのため、Javaとの相互運用性が高く、Javaのメソッドやライブラリを呼び出す際に便利です。また、コンストラクタで初期容量を指定できるため、メモリ効率が高いです。しかし、要素の型を明示的に指定しなければならないため、コードが冗長になる可能性があります。

使い方

ArrayListを使うには、以下のように書きます。

// ArrayListを宣言
val list = ArrayList<Int>() // 要素の型を指定

// 要素を追加
list.add(1)
list.add(2)
list.add(3)

// 要素を削除
list.remove(2)

// 要素にアクセス
println(list[0]) // 1
println(list[1]) // 3

mutableListOf

mutableListOfはKotlinのkotlin.collections.MutableListインターフェースを実装したクラスです。そのため、Kotlin独自の機能を利用できます。また、型推論によって要素の型を指定できるため、コードが簡潔になります。しかし、初期容量を指定できないため、メモリ効率が低い可能性があります。また、Javaとの相互運用性が低く、ボクシングやアンボクシングが必要になる場合があります。

使い方

mutableListOfを使うには、以下のように書きます。

// mutableListOfを宣言
val list = mutableListOf(1, 2, 3) // 要素の型を推論

// 要素を追加
list.add(4)
list.add(5)
list.add(6)

// 要素を削除
list.remove(4)

// 要素にアクセス
println(list[0]) // 1
println(list[1]) // 2

まとめ

Kotlinでは、ArrayListとmutableListOfという2つのクラスで可変長のリストを作成できます。どちらも利点と欠点がありますので、問題や目的に応じて選択する必要があります。ArrayListはメモリ効率やJavaとの相互運用性が高いですが、コードが冗長になる可能性があります。mutableListOfはコードが簡潔でKotlin独自の機能を利用できますが、メモリ効率やJavaとの相互運用性が低い可能性があります。

参考文献

OpenAI. (2023). BingAI (2023年4月5日版) [Large language model]. https://www.bing.com/ai

0
0
0

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
0
0