Arrays و Collections (Arrays & Collections)
Arrays و Collections: ذخیره چندین مقدار 📋
وقتی میخواید چندین مقدار رو کنار هم نگه دارید، از Arrays یا Collections استفاده میکنید. Kotlin Collections خیلی قدرتمندتر از Arrays هستن!
Arrays (آرایهها):
// ساخت Array
val numbers = arrayOf(1, 2, 3, 4, 5)
val names = arrayOf("Ali", "Reza", "Hassan")
// Array با type مشخص
val intArray = intArrayOf(1, 2, 3) // Primitive array (بهینهتر)
val stringArray: Array<String> = arrayOf("a", "b", "c")
// Array خالی
val empty = arrayOfNulls<String>(5) // [null, null, null, null, null]
// دسترسی
println(numbers[0]) // 1
numbers[0] = 10
println(numbers.size) // 5
Arrays vs Collections: Arrays برای performance-critical code استفاده میشن. برای اکثر موارد، Collections (List, Set, Map) بهترن چون API غنیتری دارن.
Collections (مجموعهها):
// List (لیست مرتب و قابل تکرار)
val list = listOf(1, 2, 3, 2) // Immutable
val mutableList = mutableListOf(1, 2, 3) // Mutable
mutableList.add(4)
mutableList.remove(2)
// Set (مجموعه بدون تکرار)
val set = setOf(1, 2, 3, 2) // [1, 2, 3] - 2 فقط یکبار
val mutableSet = mutableSetOf(1, 2, 3)
// Map (جفت کلید-مقدار)
val map = mapOf("name" to "Ali", "age" to 25)
val mutableMap = mutableMapOf("name" to "Ali")
mutableMap["email"] = "ali@example.com"
مثال: کار با List
val users = listOf("Ali", "Reza", "Hassan")
// Iteration
for (user in users) {
println(user)
}
// با index
for ((index, user) in users.withIndex()) {
println("$index: $user")
}
// Filter و Map
val longNames = users.filter { it.length > 3 }
val upperNames = users.map { it.uppercase() }
Immutable vs Mutable: Immutable collections (listOf) نمیتونن تغییر کنن ولی thread-safe هستن. Mutable collections (mutableListOf) قابل تغییرن ولی باید مراقب concurrent access باشید.
عملیات رایج Collections:
val numbers = listOf(1, 2, 3, 4, 5)
// بررسی
numbers.contains(3) // true
numbers.isEmpty() // false
numbers.size // 5
// پیدا کردن
numbers.first() // 1
numbers.last() // 5
numbers.find { it > 3 } // 4
// تبدیل
numbers.toSet() // Set
numbers.toMutableList() // MutableList
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
تمرین: Arrays و Collections
Easy
سوال تمرین
🎯 تمرین: ساخت Array و List
یک array و یک list بسازید.
پاسخ تمرین
KOTLIN
// Array
val numbers = arrayOf(1, 2, 3)
println(numbers[0])
// List
val list = listOf("a", "b", "c")
println(list.first())
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.