记录一个关于SparseIntArray put的时候 正值负值的问题

旧巷老猫 提交于 2020-02-01 09:06:08

省时间的可以直接看这里:简单来说 就是传 正值 的时候 是按照 0 1 2 3 这样子依次往后叠加。但传 负值 的时候,都是往 0 索引添加,之前已经有的就往后面退一位。

首先,开始一长篇废话。我们先给SparseIntArray传正值,先在onCreate里面put正值

 

然后,我们看一下打印结果(解释一下 indexOfKey 是根据key找出索引 indexOfValue 是根据value找出索引)

 

ok,结果一切正常,也跟我们平时用的HashMap List一样。

接下来 我们put 负值。  其实也就是在上面所有的数值前加一个 负号。那我们就直接看结果

 可以看到,结果完全跟上面的不一样。简单来说, 当传负值的时候,最新的数值总是在 0 索引。

至于为什么这么设计有知道的老铁可以说下。。。。。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!