如果密钥存在,如何从稀疏数组中删除项目?

时间:2018-04-16 11:29:01

标签: java android

由于稀疏数组比hashmap有更多的功能我正在使用它,但问题是它没有提供一种方法可以检查密钥是否存在于其中。我们怎样才能简单地检查键是否存在,就像map.containsKey(key)一样,就像这个Map方法一样。

 if(sparseArray!!.size()>0) {
    sparseArray?.removeAt(sparseArray!!.indexOfKey(id.toInt()))
}

3 个答案:

答案 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将整数(键)映射到对象(值)。与普通的对象数组不同,索引中可能存在间隙。

相关问题