המתודה Contains
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 82 מתוך 93.
משימה נפוצה בעבודה עם רשימות היא לבדוק אם רכיב מסוים קיים באוסף. Kotlin מספקת את המתודה contains() למטרה זו. היא מחזירה true אם הרכיב נמצא, ו-false אחרת.
val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana")) // true
println(fruits.contains("Grape")) // falseKotlin מציעה גם חלופה קריאה יותר באמצעות האופרטור in, שעושה בדיוק את אותו הדבר:
val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers) // true
println(10 in numbers) // falseאפשר גם לבדוק אם רכיב אינו נמצא ברשימה באמצעות !in:
val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
println("Yellow is not available")
}הבדיקות האלה פועלות גם עם מחרוזות, ומאפשרות לך לוודא אם תו או תת־מחרוזת קיימים:
val word = "Kotlin"
println('K' in word) // true
println("otl" in word) // trueהאופרטור in שימושי במיוחד במשפטי תנאי, והופך את הקוד שלך למפורש יותר וקל יותר לקריאה מאשר מעבר ידני על רשימה כדי למצוא איבר.
אתגר
בינוניתקבל רשימה של שמות משתמש מורשים ושם משתמש לבדיקה. קבע אם שם המשתמש מופיע ברשימה המורשית באמצעות האופרטור in.
אם שם המשתמש מופיע ברשימה, הדפס Access granted. אם שם המשתמש אינו מופיע ברשימה, הדפס Access denied.
פורמט הקלט:
- שורה ראשונה: מספר שלם
nהמייצג את מספר שמות המשתמש המורשים nהשורות הבאות: מחרוזות המייצגות את שמות המשתמש המורשים- שורה אחרונה: שם המשתמש לבדיקה
פורמט הפלט:
הדפס Access granted או Access denied, בהתאם לשאלה אם שם המשתמש מופיע ברשימה המורשית.
דוגמה:
אם הרשימה המורשית היא ["alice", "bob", "charlie"] ושם המשתמש לבדיקה הוא bob, הפלט צריך להיות:
Access grantedאם שם המשתמש לבדיקה הוא david, הפלט צריך להיות:
Access deniedנסו בעצמכם
fun main() {
// קראו את מספר שמות המשתמש המותרים
val n = readLine()!!.toInt()
// קראו את שמות המשתמש המותרים לתוך רשימה
val allowedUsernames = mutableListOf<String>()
for (i in 1..n) {
allowedUsernames.add(readLine()!!)
}
// קראו את שם המשתמש שיש לבדוק
val usernameToCheck = readLine()!!
// TODO: כתבו את הקוד שלכם למטה
// השתמשו באופרטור 'in' כדי לבדוק אם usernameToCheck נמצא ב-allowedUsernames
// הדפיסו "Access granted" אם נמצא, ו-"Access denied" אם לא
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2אופרטורים לוגיים חלק 3אופרטור טרנרי עם ביטוי ifסיכום – לוגיקה פשוטה14רשימות: נושאים מתקדמים
חיתוך רשימה באמצעות SubListחיתוך רשימה באמצעות Take ו-Dropאופרטורים של רצפיםהמתודה Containsסיכום – חיפוש בדף3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין