gpt4 book ai didi

java - "SparseArray - there can be gaps in the indices"是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 16:21:15 26 4
gpt4 key购买 nike

开发一个程序,该程序使用以整数作为键和对象作为值的散列映射。我不断收到 Lint 警告,通知 SparseArray 更有效,当我读到相同内容时,它在 Link 中给出。也就是说,指数可能存在差距。这到底是什么意思,我无法理解。

这是否意味着,如果我有像 1,5,10 这样的键,那么数组大小将为 3,索引为 1、5、10。(或者)数组大小将为 11,对象存在为 1、5、10 索引和剩下的都是空的?

请澄清一下。

最佳答案

SparseArray 的效率提高不仅是由于不同的结构(正如其他答案所指出的),还因为您正在避免 autoboxing。当使用 int 作为键时。

换句话说,当使用例如map.get(1),您实际上执行的是 map.get(Integer.valueOf(1))。也就是说,您正在将 int 原语转换为 Integer 类实例。

对于 SparseArray,没有这种类型的转换,您只是在使用 int。查看自动装箱链接了解更多详情。

关于java - "SparseArray - there can be gaps in the indices"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153345/

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