所以,为了性能,我应该使用 SparseArray 而不是 HashMap :
但是,SparseArray不是JCF的一部分,也没有实现Collectionnor 。,另一方面,实现并提供了在需要与JCF兼容的行为时可以使用的功能。例如,在各种自定义排序中使用它(对于值)。ListMapHashMapMapvalues()ArrayAdapter
我的问题是三个方面:
- 为什么不
SparseArray实现JCF接口?我的意思是,鉴于大多数方法已经存在,不实现这些接口的动机是什么? - 是否有
SparseArray实现JCF接口的替代方案或可以轻松转换并保持SparseArray性能? HashMap有几百个元素的 s 真的那么慢吗?我的用户真的会注意到吗?
我正在寻找有深度的答案,我更喜欢参考权威网站。如果您认为您知道为什么SparseArray没有使用 JCF 接口实现,请提供一些支持,帮助我理解。如果您认为我应该使用SparseArray,请向我展示如何将其与ArrayAdapter自定义排序一起使用(首选Comparator -esque 解决方案)。如果有更好的选择,API 文档、库或教程的链接会很有帮助。如果您认为我应该坚持使用HashMaps,请解释为什么SparseArray接口的需求超过了性能优势。