Kotlinコレクション
List、Set、Mapを扱います。filter、map、sortedBy、forEach、find、any、allなどの関数型演算子を使い、操作を連結して簡潔なデータ変換を行います。
「Kotlinコレクション」はCoddyKit上の無料Android Academyレッスンです。 これはレッスン1/6です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAndroid Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Android Academyコースには全6レッスンが含まれています。
コレクションの概要
Kotlinの標準ライブラリには、主に3種類のコレクションがあります。
- List — 要素の順序付きシーケンス(重複可)
- Set — 一意な要素の集合(特定の順序なし)
- Map — キーと値のペア(キーは一意)
各型には、immutable(読み取り専用)版と mutable(変更可能)版があります。
List:listOf と mutableListOf
ファクトリ関数を使ってリストを作成します。
fun main() {
// Immutable — cannot add/remove items
val fruits = listOf("Apple", "Banana", "Cherry")
println(fruits[0]) // Apple
println(fruits.size) // 3
// Mutable — can modify
val scores = mutableListOf(10, 20, 30)
scores.add(40)
scores.removeAt(0) // remove index 0
println(scores) // [20, 30, 40]
}Map:キーと値のペア
mapOf と mutableMapOf を使ってマップを作成します。キーを指定して値にアクセスできます。
fun main() {
val capitals = mapOf(
"Turkey" to "Ankara",
"Germany" to "Berlin",
"Japan" to "Tokyo"
)
println(capitals["Turkey"]) // Ankara
println(capitals["France"]) // null (not found)
println(capitals.getOrDefault("France", "Unknown")) // Unknown
// Iterate
for ((country, city) in capitals) {
println("$country -> $city")
}
}filter — 要素を選択する
filter は、条件に一致する要素だけを含む新しいリストを返します。
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)
val evens = numbers.filter { it % 2 == 0 }
println(evens) // [2, 4, 6, 8]
val names = listOf("Alice", "Bob", "Anna", "Charlie")
val aNames = names.filter { it.startsWith("A") }
println(aNames) // [Alice, Anna]
}map — 要素を変換する
map はすべての要素を変換し、新しいリストを返します。
fun main() {
val prices = listOf(10.0, 20.0, 30.0)
// Apply 10% tax
val withTax = prices.map { it * 1.1 }
println(withTax) // [11.0, 22.0, 33.0]
val names = listOf("alice", "bob", "carol")
val upper = names.map { it.uppercase() }
println(upper) // [ALICE, BOB, CAROL]
}sortedBy と sortedByDescending
プロパティを基準にリストを並べ替えます。
data class Student(val name: String, val grade: Int)
fun main() {
val students = listOf(
Student("Alice", 88),
Student("Bob", 95),
Student("Carol", 72)
)
val byGrade = students.sortedByDescending { it.grade }
for (s in byGrade) println("${s.name}: ${s.grade}")
// Bob: 95
// Alice: 88
// Carol: 72
}forEach と find
コレクションで使える、さらに2つの便利な関数です。
forEach— 結果を作成せずに反復処理するfind— 条件に一致する最初の要素を返す。一致する要素がなければ null
操作のチェーン
複数の操作をチェーンして、簡潔にデータを変換します。
data class Product(val name: String, val price: Double, val inStock: Boolean)
fun main() {
val products = listOf(
Product("Laptop", 999.0, true),
Product("Mouse", 29.0, false),
Product("Keyboard", 79.0, true),
Product("Monitor", 349.0, true)
)
// In-stock products under $500, sorted by price
val result = products
.filter { it.inStock && it.price < 500 }
.sortedBy { it.price }
.map { "${it.name}: ${it.price}" }
result.forEach { println(it) }
}any、all、count
結果をすばやく取得するための集約関数です。
any { condition }— 1つ以上の要素が一致する場合に trueall { condition }— すべての要素が一致する場合に truecount { condition }— 一致する要素の数sumOf { it.price }— 数値プロパティの合計
クイックチェック
リストから条件を満たす要素だけを取得するには、どの関数を使いますか?
まとめ:Kotlinのコレクション
Kotlinでデータを効率的に扱えるようになりました。
listOf/mutableListOf、mapOf/mutableMapOffilter— 条件に一致する要素を選択するmap— 要素を変換するsortedBy/sortedByDescending- 操作をチェーンして、すっきり読みやすいデータ処理パイプラインを作る
次は、RecyclerViewを使ってリストを画面に表示します。
AI チューターと学ぶ Kotlin — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 36
- レッスン
- 152
よくある質問
「Kotlinコレクション」レッスンは無料ですか?
はい。「Kotlinコレクション」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Android Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Android Academyコースには全6レッスンが含まれています。
「Kotlinコレクション」で何を学びますか?
List、Set、Mapを扱います。filter、map、sortedBy、forEach、find、any、allなどの関数型演算子を使い、操作を連結して簡潔なデータ変換を行います。 ブラウザで直接実行するハンズオンコードでAndroid Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Android Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAndroid Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/6です。
「Kotlinコレクション」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAndroid Academyレッスンでコードを書いて実行できますか?
はい。すべてのAndroid Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Kotlinコレクション
- RecyclerViewの基礎
- RecyclerViewのクリックイベント
- SharedPreferences
- DataStore Preferences
- AdaptersとDiffUtil