sir*_*ine 1 java android arraylist
我最近开始使用Android SparseArray代替ArrayList来处理少量项目.我想知道它为什么不包含像普通ArrayList一样的toArray()方法?它包含值的私有对象数组,但无法返回它们.在我看来,这将是一个有用的方法,因为ArrayList到阵列转换在Android中很常见.我假设因为哈希的工作方式,它将返回一个空插槽的数组?
我的第二个问题是,将SparseArray转换为普通Object数组的最有效方法是什么?
要回答你的问题的标题,没有方法,因为SparseArray不是一个数组,它实际上是HashMap的优化,将任意整数绑定到任意值.优化在于它不使用HashMap所在的装箱/拆箱.
然后第二部分,你应该如何将它转换为数组,我建议使用size()确定最大的数组索引keyAt(index),然后分配适当大小的数组,最后使用get(index, default)具有合理默认值的方法复制所有值.
| 归档时间: |
|
| 查看次数: |
3201 次 |
| 最近记录: |