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