1. 概要

このクイックチュートリアルでは、要素なしで可変リスト、マップ、およびセットを初期化する方法を説明します。

2. 空の可変コレクション

Kotlinでは、いくつかの要素を使用して空でないコレクションを初期化するのは簡単です。 たとえば、ここではMutableSetを2つのStringで初期化しています。

val colors = mutableSetOf("Red", "Green")

上に示したように、コンパイラは、渡された要素から設定されたコンポーネントタイプを推測します。 初期化後、さらに要素を追加することもできます。

colors += "Blue"

一方で、 要素なしでMutableSetを初期化するには、何らかの方法で汎用型情報を渡す必要があります。 そうしないと、コンパイラはコンポーネントタイプを推測できません。 たとえば、空を初期化するには MutableSet

val colorSet = mutableSetOf<String>()

ここでは、汎用型情報を関数自体に渡します。 さらに、タイプアノテーションを明示的に宣言して、同じことを実現できます

val colorSetTagged: MutableSet<String> = mutableSetOf()

同様に、空の可変リストとマップを定義することもできます。

val map = mutableMapOf<String, String>()
val list = mutableListOf<String>()

ここでも、明示的な型アノテーションを使用できます。

val mapTagged: MutableMap<String, String> = mutableMapOf()
val listTagged: MutableList<String> = mutableListOf()

変数型を明示的に宣言するときに、型情報を関数に渡す必要はありません。

3. 結論

この短いチュートリアルでは、要素のない可変コレクションを定義する方法を見ました。

いつものように、すべての例はGitHubから入手できます。