List לעומת MutableList
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 67 מתוך 93.
עד כה עבדת עם משתנים בודדים שמכילים ערכים יחידים. אבל מה אם צריך לאחסן אוסף של פריטים, כמו רשימת שמות או סדרת מספרים? כאן נכנסות לתמונה רשימות.
Kotlin מספקת שני סוגי רשימות: List ו-MutableList. ההבדל העיקרי הוא אם אפשר לשנות את הרשימה לאחר שיוצרים אותה.
List היא לקריאה בלבד. הממשק שלה אינו חושף פעולות להוספה, להסרה או להחלפה של איברים. אין בכך הבטחה לאי־שינוי עמוק: אותו אובייקט בר־שינוי בסיסי עשוי להשתנות דרך הפניה אחרת:
val fruits = listOf("Apple", "Banana", "Cherry")
val numbers = listOf(1, 2, 3, 4, 5)רשימה ניתנת לשינוי מאפשרת לבצע שינויים. אפשר להוסיף איברים חדשים, להסיר איברים קיימים או לעדכן ערכים:
val fruits = mutableListOf("Apple", "Banana")
fruits.add("Cherry") // מכיל כעת: Apple, Banana, Cherryהשתמשו ב-listOf() כשהנתונים שלכם לא אמורים להשתנות, וב-mutableListOf() כשאתם צריכים גמישות. ההבחנה הזאת עוזרת למנוע שינויים מקריים ומבהירה את כוונת הקוד שלכם.
אתגר
בינוניצרו רשימה לקריאה בלבד בשם colors המכילה שלוש מחרוזות: "Red", "Green" ו-"Blue".
לאחר מכן, צרו רשימה ניתנת לשינוי בשם numbers שמתחילה בשני מספרים שלמים: 10 ו-20.
הוסיפו את הערך 30 לרשימה numbers.
לבסוף, הדפיסו את שתי הרשימות בשורות נפרדות בסדר הזה:
- הרשימה
colors - הרשימה
numbers
נסו בעצמכם
fun main() {
// TODO: צרו רשימה לקריאה בלבד בשם 'colors' עם "Red", "Green", "Blue"
// TODO: צרו רשימה ניתנת לשינוי בשם 'numbers' עם 10 ו-20
// TODO: הוסיפו 30 לרשימה numbers
// TODO: הדפיסו את שתי הרשימות בשורות נפרדות (תחילה colors, ואז numbers)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמי12יסודות הרשימות
List לעומת MutableListגישה לאיבריםשינוי רשימותמתודות של רשימותPair ו-Tripleחזרה – רשימת מוצריםחזרה – רשימה הפוכהתרגלו בעצמכם: Kotlin אונליין