mag*_*tte 38 java android hashmap sparse-array
我使用a实现了一个Bitmap缓存,HashMap<Integer, Bitmap>并在Eclipse中收到以下警告:
使用新的SparseArray(...)代替更好的性能.
我之前从未听过那个类,但检查它似乎没有一个containsKey()方法,我正在调用从缓存中检索Bitmap来检查它是否存在于缓存中,如果不存在,然后添加它.
有关检查密钥是否已存在的最佳方法的任何想法?
我想我可以更改代码以使用此重载并检查null?
Bitmap bitmap = cache.get(key, null);
Run Code Online (Sandbox Code Playgroud)
Sam*_*Sam 45
你可以使用:
Bitmap bitmap = cache.get(key, null);
Run Code Online (Sandbox Code Playgroud)
但要明白这是一样的get(key):
Bitmap bitmap = cache.get(key);
Run Code Online (Sandbox Code Playgroud)
最好的使用方法get(key, default)是提供一个通用的默认情况,当找不到密钥时,这是一个有效的替代.
但没有充分的理由不用if(get(key) != null)作快速替代品contains().
Ale*_*lex 30
因此在各种情况下你的值都可以为null,我建议使用indexOfKey(int key)
这里是indexOfKey(int key)引用.
然后只需检查负回报值
if(mySparseArray.indexOfKey(int) < 0) {
//Item does not exist. Do something relevant
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19953 次 |
| 最近记录: |