Kotlin

Collection(コレクション)オブジェクト - Kotlin入門

2021年2月25日

複数のリテラルのコンテナとなるようなオブジェクトを「コレクション」と言います。

Kotlin では、List(リスト)、Set(セット)、Map(マップ)が用意されています。
読み取り専用(イミュータブル)」と「書込み可(ミュータブル)」のインターフェイスが
明確に分かれているのも Kotlin の特徴です。

 

コレクションのインターフェイス

Kotlin のコレクション・パッケージには、3種類(List、Set、Map)のインターフェイスがあります。
また、それぞれのインターフェイスに「イミュータブル」と「ミュータブル」が用意されています。

それぞれの関係は、以下の図の通り。

 

List(リスト):listOf, mutableListOf

リストは、List で表現される順序付きのコレクションです。

Kotlin の標準ライブラリ関数 listOf を使用して、読み取り専用のリストを生成できます。
また、mutableListOf を使用して、書込み可のリストを生成できます。

 

配列と同様に、size プロパティやインデックスを指定して要素にアクセスします。

参考

配列については、「Array(配列)オブジェクト」にまとめています。

 

Set(セット):setOf, mutableSetOf

セットは、集合を表すコレクションです。

Kotlin の標準ライブラリ関数 setOf を使用して、読み取り専用のセットを生成できます。
また、mutableSetOf を使用して、書込み可のセットを生成できます。

 

要素の重複は許されず、例えば setOf(1, 1) で返されるオブジェクトは、要素数が 1 のみになります。
また、セットは要素の順序を保証しないため、リストのようにインデックスでアクセスはできません。

 

Map(マップ):mapOf, mutableMapOf

マップは、キーと値のペアを保持するコレクションです。

Kotlin の標準ライブラリ関数 mapOf を使用して、読み取り専用のマップを生成できます。
また、mutableMapOf を使用して、書込み可のマップを生成できます。

 実行結果
{one=1, two=2}
2
2
null
{one=1, two=2, three=3}

キーと値には、それぞれ任意の型を指定することができます。

参考

データ型については、「リテラルと基本データ型」にまとめています。

 

コレクションまとめ

リスト、セット、マップをまとめます。

インターフェイス 特徴 ミュータブル 生成する標準関数
List 順序付きコレクション listOf
MutableList mutableListOf
Set 集合 setOf
MutableSet mutableSetOf
Map キーと値を保持 mapOf
MutableMap mutableMapOf

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-Kotlin
-, , , ,