kotlin:contains/containsAll函数/in关键字
一,功能:
contains()
如果存在一个集合元素等于(equals()
)函数参数,那么它返回 true
。
支持单对多,也支持多对多的比较。
我们如果要比较一个集合是否包含另外一个集合的全部元素
可以使用containsAll()
in
操作符
是语法糖,编译后会被转换为contains
方法的调用,形式上更简洁直观
二,例子
代码:
//处理按钮点击事件
binding.button1.setOnClickListener {
val test = listOf("one", "two", "three", "four", "five", "six")
//检测元素是否存在
println(test.contains("three1")) //false
println(test.contains("three")) //true
//使用in关健字
println("three" in test) // true
// 同时,支持多对多的比较
println(test.containsAll(listOf("A","six"))) //false
println(test.containsAll(listOf("four","two"))) //true
}
运行结果:
三,例子
代码:
//处理按钮点击事件
binding.button2.setOnClickListener {
val str = "Hello"
println(str.contains("ell")) // true
//in关健字
println("ell" in str) // true
println("wll" in str) // false
//字符串的contains方法允许指定ignoreCase(是否忽略大小写)
println(str.contains("HELL", ignoreCase = true)) // true
}
运行结果:
四,例子:
代码:
//处理按钮点击事件:
binding.button3.setOnClickListener {
val map = mapOf("key1" to 1, "key2" to 2, "key3" to 3)
//例子:检查map是否包含所有指定的key
val keysToCheck = listOf("key1", "key2", "key3")
val containsAllKeys = map.keys.containsAll(keysToCheck)
println("map是否包含所有指定key: $containsAllKeys")
val keysToCheck2 = listOf("wey1", "key2", "key3")
val containsAllKeys2 = map.keys.containsAll(keysToCheck2)
println("map是否包含所有指定key: $containsAllKeys2")
}
运行结果: