我想知道的性能和效率,SparseArray
以及ArrayList
和哪一个是更好地使用.我无法理解何时使用SparseArray
和什么时候ArrayList
?
chi*_*ity 43
SparseArray
如果你有一个有很多空白的列表,那么a的目的是节省内存.如果你只有10个项目,并且索引它们的数字范围从0到1000,那么ArrayList
它将包含大量null
条目,并且这将是非常浪费的.A SparseArray
将在内部使用数据结构来避免该问题.
在这种情况下的另一种选择是a HashMap
,SparseArray
如果你有很多物品,这比a更好.
该实现不适用于可能包含大量项目的数据结构.它通常比传统的HashMap慢,因为查找需要二进制搜索,并且添加和删除需要插入和删除数组中的条目.对于容纳数百件物品的容器,性能差异不显着,小于50%.
来自Android开发文档.
归档时间: |
|
查看次数: |
26398 次 |
最近记录: |