由于稀疏数组比hashmap有更多的功能我正在使用它,但问题是它没有提供一种方法可以检查密钥是否存在于其中。我们怎样才能简单地检查键是否存在,就像map.containsKey(key)一样,就像这个Map方法一样。
if(sparseArray!!.size()>0) {
sparseArray?.removeAt(sparseArray!!.indexOfKey(id.toInt()))
}
答案 0 :(得分:1)
if(sparseArray.size() > 0 && sparseArray.indexOfKey(int) >= 0) {
// Your code...
}
参考:https://developer.android.com/reference/android/util/SparseArray.html#indexOfKey%28int%29
返回keyAt(int)将返回指定键的索引, 如果未映射指定的密钥,则为负数。
答案 1 :(得分:0)
检查post:
if(sparseArray.indexOfKey(int) < 0) {
//Item does not exist. Do something relevant
}
答案 2 :(得分:0)
您可以通过给定键为null或不是
来检查此值考虑以下答案
使用if(get(key)!= null)作为contains()的快速替换。
SparseArrays将整数(键)映射到对象(值)。与普通的对象数组不同,索引中可能存在间隙。