gpt4 book ai didi

android - 为什么 Android JFC 中的 SparseArray 不兼容?

转载 作者:搜寻专家 更新时间:2023-11-01 08:04:37 26 4
gpt4 key购买 nike

所以,我应该 use SparseArray instead of HashMap为了性能:

然而,SparseArray不是 JCF 的一部分并且不执行 Collection也不List也不Map . HashMap ,另一方面,实现Map并提供values()我可以在需要时使用 JCF - 兼容行为。例如,在 ArrayAdapter 中使用它以及各种自定义排序(对于值)。

我的问题有三个方面:

  1. 为什么不 SparseArray实现 JCF接口(interface)?我是说,不在其中实现这些接口(interface)的动机是什么鉴于大多数方法已经存在这一事实?
  2. SparseArray 的替代品吗?实现JCF接口(interface)或者可以轻松转换并保留 SparseArray性能?
  3. HashMap真的有几百个元素慢点?我的用户真的会注意到吗?

我正在寻找有深度的答案,我更喜欢引用权威网站。如果你认为你知道为什么 SparseArray没有用 JCF 接口(interface)实现,显示一些支持,帮助我理解。如果你认为我应该使用 SparseArray , 告诉我如何将它与 ArrayAdapter 一起使用和自定义排序(首选 Comparator -esque 解决方案)。如果有更好的选择,API 文档、库或教程的链接会很有帮助。如果你认为我应该坚持 HashMap s,解释为什么 SparseArray 的性能优势接口(interface)的需求超过了这一点。

最佳答案

SparseArray.java 的第一个版本编写于 2006 年 5 月。在某些方面,它早于您所指的各种集合接口(interface)(在 Android 中,而不是在 Java 中)。我的感觉是它不支持各种 JCF 接口(interface),因为它们在编写代码时不存在,而且此后没有人找到添加它们的理由。 (直到 2007 年初,它才开始使用泛型。)

如果您发现增强的 SparseArray 有用,欢迎使用高质量的补丁。

关于android - 为什么 Android JFC 中的 SparseArray 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16111054/

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