Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不是';Android JFC中的SparseArray兼容吗?_Android_Collections_Sparse Array - Fatal编程技术网

为什么不是';Android JFC中的SparseArray兼容吗?

为什么不是';Android JFC中的SparseArray兼容吗?,android,collections,sparse-array,Android,Collections,Sparse Array,所以,为了表现,我应该: 但是,不是的一部分,也不实施或,另一方面,实现并提供了在需要兼容行为时可以使用的功能。例如,在和各种自定义排序(值)中使用它 我的问题有三个方面: 为什么不实现接口?我是说, 不在中实现这些接口的动机是什么 考虑到大多数方法已经存在的事实 除了实现接口,还有其他选择吗 或者可以轻松转换并保留性能 有几百个元素的s真的那么多吗 更慢的?我的用户真的会注意到吗 我在寻找有深度的答案,我更喜欢引用权威网站。如果您认为您知道为什么没有使用JCF接口实现,请显示一些支持,帮助我理

所以,为了表现,我应该:

但是,不是的一部分,也不实施或,另一方面,实现并提供了在需要兼容行为时可以使用的功能。例如,在和各种自定义排序(值)中使用它

我的问题有三个方面:

  • 为什么不实现接口?我是说, 不在中实现这些接口的动机是什么 考虑到大多数方法已经存在的事实
  • 除了实现接口,还有其他选择吗 或者可以轻松转换并保留性能
  • 有几百个元素的s真的那么多吗 更慢的?我的用户真的会注意到吗

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

    可能是因为它是Map,但SparseArray有基本键

    另一种选择是和以前一样的地图


    对于3,一般来说,是的,但是我们应该测量并看看在他的例子中是否是真的

    可能是因为它是Map,但是SparseArray有基本键

    另一种选择是和以前一样的地图


    对于3,一般来说,是的,但我们应该衡量一下,看看他的情况是否属实

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


    如果您觉得增强的SparseArray很有用,欢迎使用高质量的补丁。

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


    如果您觉得增强的SparseArray很有用,那么高质量的补丁总是受欢迎的。

    Map的自动取消装箱会降低性能吗?列表接口呢?在Java拼图游戏中,如果我没有弄错的话,说明了装箱拆箱对性能的影响很大。在这一点上我可能大错特错,但你能详细说明你的答案吗#我想知道的不仅仅是“也许”(我也能猜到“也许”)。我正在寻找JCF没有实现的可靠原因#2除了我已有的解决方案之外,我还在寻找其他的解决方案#3我无法在不完全重写大部分代码的情况下切换到SparseArray,因此我没有实际的方法来“测量”它。我在这个主题上找到的只是我链接到的一篇文章。我需要更多的信息,而不是更多的猜测。没有“可能”。文档中明确指出:“它比使用HashMap将整数映射到对象更有效。”避免整数的常量装箱和拆箱是其存在的原因。FWIW,SparseArray的另一个有趣之处是它实现了可克隆性,但它的clone()不返回对象,这使它成为协变方法而不是重载。@fadden“避免整数的常量装箱和拆箱是它存在的原因。”我还不完全清楚。然而,假设这是真的,这只能解释为什么它没有实现Map。集合(或任何有效的子接口)如何,其中E是值类型?映射的自动取消装箱是否会降低性能?列表接口呢?在Java拼图游戏中,如果我没有弄错的话,说明了装箱拆箱对性能的影响很大。在这一点上我可能大错特错,但你能详细说明你的答案吗#我想知道的不仅仅是“也许”(我也能猜到“也许”)。我正在寻找JCF没有实现的可靠原因#2除了我已有的解决方案之外,我还在寻找其他的解决方案#3我无法在不完全重写大部分代码的情况下切换到SparseArray,因此我没有实际的方法来“测量”它。我在这个主题上找到的只是我链接到的一篇文章。我需要更多的信息,而不是更多的猜测。没有“可能”。文档中明确指出:“它比使用HashMap将整数映射到对象更有效。”避免整数的常量装箱和拆箱是其存在的原因。FWIW,SparseArray的另一个有趣之处是它实现了可克隆性,但它的clone()不返回对象,这使它成为协变方法而不是重载。@fadden“避免整数的常量装箱和拆箱是它存在的原因。”我还不完全清楚。然而,假设这是真的,这只能解释为什么它没有实现Map。集合(或任何有效的子接口)如何,其中E是值类型?“包含几百个元素的HashMaps真的那么慢吗?我的用户真的会注意到吗?”--当你创建基准测试并运行测试时,特别是使用Traceview等工具时,你学到了什么?@Commonware I从未“创建基准测试”我到底为什么要那样做?我正在构建一个应用程序,而不是测试性能。我已经运行了Traceview,但我没有参考点来说“这是坏的”或“这是好的”。一切都运行良好。我有