Kotlin用語集【レベル3】~コレクション編~

記事内に商品プロモーションを含む場合があります

このサイトではKotlinの基本的文法を33個定義して練習問題を作成しています。

このページではレベル3の4個の基本的文法について、その言葉の意味や使用例を紹介します。

【レベル1のKotlinの基本的文法】
コメントの書き方、変数と定数、基本データ型、算術演算と論理演算、入力と出力、import文、配列、分岐処理(if、if~else、when)、繰り返し処理(for、while、do~while)、Null安全、スマートキャスト

Kotlin用語集【レベル1】~基礎文法+制御構造編~ このサイトではKotlinの基本的文法を33個定義して練習問題を作成しています。 このページではレベル1の11個の基本的文...

【レベル2のKotlinの基本的文法】
関数の定義と呼び出し、関数の戻り値、関数のオーバーロード、ラベルとジャンプ、例外処理、クラスの定義と使用、インスタンス、コンストラクタ、プロパティ、クラスの継承、クラスの拡張

Kotlin用語集【レベル2】~オブジェクト指向編①~ このサイトではKotlinの基本的文法を33個定義して練習問題を作成しています。 このページではレベル2の11個の基本的文...

【レベル3のKotlinの基本的文法】
1.コレクションの基礎
2.リストコレクション(MutableList、ArrayList)
3.セットコレクション(HashSet、MutableSet、TreeSet)
4.マップコレクション(HashMap、MutableMap、TreeMap)

【レベル4のKotlinの基本的文法】
メンバ関数、ゲッターとセッター、カプセル化、クラスメンバ、抽象クラス、インターフェース、データクラス

Kotlin用語集【レベル4】~オブジェクト指向編②~ このサイトではKotlinの基本的文法を33個定義して練習問題を作成しています。 このページではレベル4の7個の基本的文法...

この用語集を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。またKotlinの公式サイトの情報も並行して活用しましょう。

初心者のためのKotlin練習問題集(全38問を無料公開中!) プログラミングは教科書を読んでいるだけでは習得できない! この記事では、Kotlinの学習を始めた初心者に役立つ練習問題を...

コレクションの基礎





Kotlinの「コレクションの基礎」とは何か、以下に紹介します。

「コレクションの基礎」とは

Kotlinのコレクションとは、複数の要素を一つのデータ構造として管理するための機能です。

コレクションは主にリスト、セット、マップの3種類があり、それぞれに対してイミュータブル(変更不可)とミュータブル(変更可能)のバージョンが存在します。

以下に各コレクションの基本的な特徴を簡単に説明します。

  • リスト(List): 順序を持ち、同じ要素を複数回含むことができるコレクション。イミュータブルリストはList、ミュータブルリストはMutableListとして定義されます。
  • セット(Set): 順序を持たず、重複する要素を含まないコレクション。イミュータブルセットはSet、ミュータブルセットはMutableSetとして定義されます。
  • マップ(Map): キーと値のペアを管理するコレクション。キーは重複せず、それぞれに対して一つの値が対応します。イミュータブルマップはMap、ミュータブルマップはMutableMapとして定義されます。

リストコレクション(MutableList、ArrayList)

Kotlinの「リストコレクション(MutableList、ArrayList)」とは何か、以下に紹介します。

「リストコレクション(MutableList)」とは

「MutableList」は、要素の順序を持ち、要素の追加・削除が可能なリストの一種です。

Kotlinでは、MutableListはJavaのArrayListに相当し、リストのサイズや内容を動的に変更できます。これにより、アプリケーションの要件に応じて柔軟にリストを操作することができます。

「リストコレクション(MutableList)」の使用例

以下に、KotlinでMutableListを使用する例を示します。このコードでは、リストの作成、要素の追加・削除、およびリストの内容を表示する方法を示しています。

fun main() {
    // MutableListの作成
    val mutableList: MutableList<Int> = mutableListOf(1, 2, 3)
    
    // リストの要素を表示
    println("初期リスト: $mutableList") // 初期リスト: [ 1, 2, 3 ]
    
    // 要素の追加
    mutableList.add(4)
    println("要素4を追加後のリスト: $mutableList") // 要素4を追加後のリスト: [ 1, 2, 3, 4 ]
    
    // 要素の削除
    mutableList.removeAt(1)
    println("インデックス1の要素を削除後のリスト: $mutableList") // インデックス1の要素を削除後のリスト: [ 1, 3, 4 ]
    
    // 要素の変更
    mutableList[0] = 10
    println("インデックス0の要素を10に変更後のリスト: $mutableList") // インデックス0の要素を10に変更後のリスト: [ 10, 3, 4]
}
  • リストの作成:mutableListOf(1, 2, 3)は、初期要素が1, 2, 3のMutableListを作成します。
  • 要素の追加:mutableList.add(4)は、リストの末尾に要素4を追加します。
  • 要素の削除:mutableList.removeAt(1)は、インデックス1の要素(この場合は2)を削除します。
  • 要素の変更:mutableList[0] = 10は、インデックス0の要素を10に変更します。

「リストコレクション(ArrayList)」とは

「ArrayList」は、Javaの標準ライブラリに含まれるリストの実装で、MutableListの一種です。

ArrayListは内部的に可変長の配列を使用しており、要素の追加や削除が頻繁に行われるシナリオに適しています。Kotlinでは、ArrayListはMutableListと互換性があり、同じように操作できます。

「リストコレクション(ArrayList)」の使用例

以下に、KotlinでArrayListを使用する例を示します。このコードでは、ArrayListの作成、要素の追加・削除、およびリストの内容を表示する方法を示しています。

fun main() {
    // ArrayListの作成
    val arrayList: ArrayList<String> = arrayListOf("A", "B", "C")
    
    // リストの要素を表示
    println("初期ArrayList: $arrayList") // 初期ArrayList: [A, B, C]
    
    // 要素の追加
    arrayList.add("D")
    println("要素Dを追加後のArrayList: $arrayList") // 要素Dを追加後のArrayList: [A, B, C, D]
    
    // 要素の削除
    arrayList.remove("B")
    println("要素Bを削除後のArrayList: $arrayList") // 要素Bを削除後のArrayList: [A, C, D]
    
    // 要素の変更
    arrayList[ 1 ] = "E"
    println("インデックス1の要素をEに変更後のArrayList: $arrayList") // インデックス1の要素をEに変更後のArrayList: [A, E, D]
}
  • リストの作成:arrayListOf("A", "B", "C")は、初期要素がA, B, CのArrayListを作成します。
  • 要素の追加:arrayList.add("D")は、リストの末尾に要素Dを追加します。
  • 要素の削除:arrayList.remove("B")は、リストから要素Bを削除します。
  • 要素の変更:arrayList[ 1 ] = "E"は、インデックス1の要素をEに変更します。

セットコレクション(HashSet、MutableSet、TreeSet)

Kotlinの「セットコレクション(HashSet、MutableSet、TreeSet)」とは何か、以下に紹介します。

「セットコレクション(HashSet)」とは

「HashSet」は、Kotlinで提供されるセットコレクションの一種で、要素の順序を保持せず、重複する要素を持たない特徴があります。

内部的にはハッシュテーブルを使用しているため、要素の追加、削除、検索が高速に行えることが特徴です。

「セットコレクション(HashSet)」の使用例

以下に、KotlinでHashSetを使用する例を示します。このコードでは、HashSetの作成、要素の追加・削除、およびHashSetの内容を表示する方法を示しています。

fun main() {
    // HashSetの作成
    val hashSet: HashSet<Int> = hashSetOf(1, 2, 3)
    
    // HashSetの要素を表示
    println("初期HashSet: $hashSet") // 初期HashSet: [ 1, 2, 3 ]
    
    // 要素の追加
    hashSet.add(4)
    println("要素4を追加後のHashSet: $hashSet") // 要素4を追加後のHashSet: [ 1, 2, 3, 4 ]
    
    // 要素の削除
    hashSet.remove(2)
    println("要素2を削除後のHashSet: $hashSet") // 要素2を削除後のHashSet: [ 1, 3, 4 ]
    
    // 重複要素の追加(無視される)
    hashSet.add(3)
    println("要素3を再度追加後のHashSet: $hashSet") // 要素3を再度追加後のHashSet: [ 1, 3, 4 ]
}
  • HashSetの作成:hashSetOf(1, 2, 3)は、初期要素が1, 2, 3のHashSetを作成します。
  • 要素の追加:hashSet.add(4)は、HashSetに要素4を追加します。
  • 要素の削除:hashSet.remove(2)は、HashSetから要素2を削除します。
  • 重複要素の追加:hashSet.add(3)は、既に存在する要素3を追加しようとしますが、HashSetは重複要素を許可しないため無視されます。

「セットコレクション(MutableSet)」とは

「MutableSet」は、要素の追加・削除が可能なセットコレクションのインターフェースです。

MutableSetは、HashSetなどの具象クラスを通じて実装され、要素の順序を保持せず、重複を許可しない特徴を持っています。

「セットコレクション(MutableSet)」の使用例

以下に、KotlinでMutableSetを使用する例を示します。

このコードでは、MutableSetの作成、要素の追加・削除、およびMutableSetの内容を表示する方法を示しています。

fun main() {
    // MutableSetの作成
    val mutableSet: MutableSet<String> = mutableSetOf("A", "B", "C")
    
    // MutableSetの要素を表示
    println("初期MutableSet: $mutableSet") // 初期MutableSet: [A, B, C]
    
    // 要素の追加
    mutableSet.add("D")
    println("要素Dを追加後のMutableSet: $mutableSet") // 要素Dを追加後のMutableSet: [A, B, C, D]
    
    // 要素の削除
    mutableSet.remove("B")
    println("要素Bを削除後のMutableSet: $mutableSet") // 要素Bを削除後のMutableSet: [A, C, D]
    
    // 重複要素の追加(無視される)
    mutableSet.add("A")
    println("要素Aを再度追加後のMutableSet: $mutableSet") // 要素Aを再度追加後のMutableSet: [A, C, D]
}
  • MutableSetの作成:mutableSetOf("A", "B", "C")は、初期要素がA, B, CのMutableSetを作成します。
  • 要素の追加:mutableSet.add("D")は、MutableSetに要素Dを追加します。
  • 要素の削除:mutableSet.remove("B")は、MutableSetから要素Bを削除します。
  • 重複要素の追加:mutableSet.add("A")は、既に存在する要素Aを追加しようとしますが、MutableSetは重複要素を許可しないため無視されます。

「セットコレクション(TreeSet)」とは

「TreeSet」は、Kotlinで提供されるセットコレクションの一種で、要素が自然順序もしくは指定された比較器によってソートされる特徴があります。

TreeSetは内部的にバランスの取れたツリーを使用しており、順序が重要な場合に便利です。

「セットコレクション(TreeSet)」の使用例

以下に、KotlinでTreeSetを使用する例を示します。

このコードでは、TreeSetの作成、要素の追加・削除、およびTreeSetの内容を表示する方法を示しています。

import java.util.TreeSet

fun main() {
    // TreeSetの作成
    val treeSet: TreeSet<Int> = TreeSet(setOf(3, 1, 4))
    
    // TreeSetの要素を表示
    println("初期TreeSet: $treeSet") // 初期TreeSet: [ 1, 3, 4 ]
    
    // 要素の追加
    treeSet.add(2)
    println("要素2を追加後のTreeSet: $treeSet") // 要素2を追加後のTreeSet: [ 1, 2, 3, 4 ]
    
    // 要素の削除
    treeSet.remove(3)
    println("要素3を削除後のTreeSet: $treeSet") // 要素3を削除後のTreeSet: [ 1, 2, 4 ]
    
    // 重複要素の追加(無視される)
    treeSet.add(2)
    println("要素2を再度追加後のTreeSet: $treeSet") // 要素2を再度追加後のTreeSet: [ 1, 2, 4 ]
}
  • TreeSetの作成:TreeSet(setOf(3, 1, 4))は、初期要素が3, 1, 4のTreeSetを作成します。要素は自然順序でソートされます。
  • 要素の追加:treeSet.add(2)は、TreeSetに要素2を追加します。追加後、要素は順序が維持されます。
  • 要素の削除:treeSet.remove(3)は、TreeSetから要素3を削除します。
  • 重複要素の追加:treeSet.add(2)は、既に存在する要素2を追加しようとしますが、TreeSetは重複要素を許可しないため無視されます。

マップコレクション(HashMap、MutableMap、TreeMap)

Kotlinの「マップコレクション(HashMap、MutableMap、TreeMap)」とは何か、以下に紹介します。

「マップコレクション(HashMap)」とは

「HashMap」は、Kotlinで提供されるマップコレクションの一種で、キーと値のペアを管理するデータ構造です。各キーは一意であり、キーに対応する値を効率的に検索、追加、および削除することができます。

HashMapは内部的にハッシュテーブルを使用しているため、操作が高速であり、キーの順序は保持されません。

「マップコレクション(HashMap)」の使用例

以下に、KotlinでHashMapを使用する例を示します。

このコードでは、HashMapの作成、要素の追加・削除、およびHashMapの内容を表示する方法を示しています。

fun main() {
    // HashMapの作成
    val hashMap: HashMap<String, Int> = hashMapOf("One" to 1, "Two" to 2, "Three" to 3)
    
    // HashMapの要素を表示
    println("初期HashMap: $hashMap") // 初期HashMap: {One=1, Two=2, Three=3}
    
    // 要素の追加
    hashMap["Four"] = 4
    println("要素Fourを追加後のHashMap: $hashMap") // 要素Fourを追加後のHashMap: {One=1, Two=2, Three=3, Four=4}
    
    // 要素の削除
    hashMap.remove("Two")
    println("要素Twoを削除後のHashMap: $hashMap") // 要素Twoを削除後のHashMap: {One=1, Three=3, Four=4}
    
    // 要素の更新
    hashMap["One"] = 10
    println("要素Oneを更新後のHashMap: $hashMap") // 要素Oneを更新後のHashMap: {One=10, Three=3, Four=4}
}
  • HashMapの作成:hashMapOf("One" to 1, "Two" to 2, "Three" to 3)は、初期キーと値のペアを持つHashMapを作成します。
  • 要素の追加:hashMap["Four"] = 4は、キー「Four」と値4をHashMapに追加します。
  • 要素の削除:hashMap.remove("Two")は、キー「Two」とその対応する値をHashMapから削除します。
  • 要素の更新:hashMap["One"] = 10は、キー「One」に対応する値を10に更新します。

「マップコレクション(MutableMap)」とは

「MutableMap」は、Kotlinのコレクションフレームワークにおけるマップのインターフェースであり、要素の追加・削除・更新が可能なマップを提供します。

MutableMapは、HashMapやLinkedHashMapなどの具象クラスを通じて実装され、キーと値のペアを効率的に操作できます。

「マップコレクション(MutableMap)」の使用例

以下に、KotlinでMutableMapを使用する例を示します。

このコードでは、MutableMapの作成、要素の追加・削除、およびMutableMapの内容を表示する方法を示しています。

fun main() {
    // MutableMapの作成
    val mutableMap: MutableMap<Int, String> = mutableMapOf(1 to "A", 2 to "B", 3 to "C")
    
    // MutableMapの要素を表示
    println("初期MutableMap: $mutableMap") // 初期MutableMap: {1=A, 2=B, 3=C}
    
    // 要素の追加
    mutableMap[ 4 ] = "D"
    println("要素4を追加後のMutableMap: $mutableMap") // 要素4を追加後のMutableMap: {1=A, 2=B, 3=C, 4=D}
    
    // 要素の削除
    mutableMap.remove(2)
    println("要素2を削除後のMutableMap: $mutableMap") // 要素2を削除後のMutableMap: {1=A, 3=C, 4=D}
    
    // 要素の更新
    mutableMap[ 1 ] = "Z"
    println("要素1を更新後のMutableMap: $mutableMap") // 要素1を更新後のMutableMap: {1=Z, 3=C, 4=D}
}
  • MutableMapの作成:mutableMapOf(1 to "A", 2 to "B", 3 to "C")は、初期キーと値のペアを持つMutableMapを作成します。
  • 要素の追加:mutableMap[ 4 ] = "D"は、キー4と値”D”をMutableMapに追加します。
  • 要素の削除:mutableMap.remove(2)は、キー2とその対応する値をMutableMapから削除します。
  • 要素の更新:mutableMap[ 1 ] = "Z"は、キー1に対応する値を”Z”に更新します。

「マップコレクション(TreeMap)」とは

「TreeMap」は、Kotlinで提供されるマップコレクションの一種で、キーが自然順序もしくは指定された比較器に従ってソートされる特徴があります。

TreeMapは内部的に赤黒木を使用しており、キーの順序を保ちながら要素を効率的に検索、追加、および削除することができます。

「マップコレクション(TreeMap)」の使用例

以下に、KotlinでTreeMapを使用する例を示します。

このコードでは、TreeMapの作成、要素の追加・削除、およびTreeMapの内容を表示する方法を示しています。

import java.util.TreeMap

fun main() {
    // TreeMapの作成
    val treeMap: TreeMap<String, Double> = TreeMap(mapOf("C" to 3.3, "A" to 1.1, "B" to 2.2))
    
    // TreeMapの要素を表示
    println("初期TreeMap: $treeMap") // 初期TreeMap: {A=1.1, B=2.2, C=3.3}
    
    // 要素の追加
    treeMap["D"] = 4.4
    println("要素Dを追加後のTreeMap: $treeMap") // 要素Dを追加後のTreeMap: {A=1.1, B=2.2, C=3.3, D=4.4}
    
    // 要素の削除
    treeMap.remove("B")
    println("要素Bを削除後のTreeMap: $treeMap") // 要素Bを削除後のTreeMap: {A=1.1, C=3.3, D=4.4}
    
    // 要素の更新
    treeMap["A"] = 5.5
    println("要素Aを更新後のTreeMap: $treeMap") // 要素Aを更新後のTreeMap: {A=5.5, C=3.3, D=4.4}
}
  • TreeMapの作成:TreeMap(mapOf("C" to 3.3, "A" to 1.1, "B" to 2.2))は、初期キーと値のペアを持つTreeMapを作成します。要素はキーの自然順序でソートされます。
  • 要素の追加:treeMap["D"] = 4.4は、キー”D”と値4.4をTreeMapに追加します。
  • 要素の削除:treeMap.remove("B")は、キー”B”とその対応する値をTreeMapから削除します。
  • 要素の更新:treeMap["A"] = 5.5は、キー”A”に対応する値を5.5に更新します。
<<用語集2 問題集Top 用語集4>>

この記事への意見・コメント

この用語集を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。またKotlinの公式サイトの情報も並行して活用しましょう。