Contains 方法
本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 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) // truein 运算符在条件语句中特别有用。与手动遍历列表查找元素相比,它能让代码表达得更清晰,也更易于阅读。
挑战
中等你会收到一个允许使用的用户名列表,以及一个要检查的用户名。使用 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"
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Kotlin 在线编辑器