دوره‌ها / Kotlin / Arrays و Collections (Arrays & Collections)

Arrays و Collections (Arrays & Collections)

15 دقیقه Article

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())

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.