gpt4 book ai didi

java - Android 中的 SparseArray 迭代和删除

转载 作者:行者123 更新时间:2023-12-01 17:00:01 27 4
gpt4 key购买 nike

我正在尝试从队列中获取结果,对其进行处理并在之后将其删除。但是我在访问 null key 的情况下遇到了 Java 异常,见下文

int key = 0;
int size = mQueue.size();
for (int i = 0; i< size; i++) {
key = mQueue.keyAt(i);
result = mQueue.get(key);
// process(result);
mQueue.remove(result.id);
}
<小时/>
>>From Queue-->{  
1=Result[id=1,type-1,data],
5=Result[id=5,type=40,data2],
6=Result[id=6,type=2,data3]}
<小时/>
>>From Loop-->  
i=1, key=1
i=2, key=6<--- was expecting key= 5
i=3, key=6<--- JE here, since mQueue.get(6) =null because removed from i=2

有什么问题吗?

最佳答案

您可以向后迭代它

for (int i = mQueue.size() - 1; i >= 0; i--) {
int key = mQueue.keyAt(i);
Object result = mQueue.get(key);
process(result);
mQueue.remove(key);
}

关于java - Android 中的 SparseArray 迭代和删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28377947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com