- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
开发一个程序,该程序使用以整数作为键和对象作为值的散列映射。我不断收到 Lint 警告,通知 SparseArray 更有效,当我读到相同内容时,它在 Link 中给出。也就是说,指数可能存在差距。这到底是什么意思,我无法理解。
这是否意味着,如果我有像 1,5,10 这样的键,那么数组大小将为 3,索引为 1、5、10。(或者)数组大小将为 11,对象存在为 1、5、10 索引和剩下的都是空的?
请澄清一下。
最佳答案
SparseArray
的效率提高不仅是由于不同的结构(正如其他答案所指出的),还因为您正在避免 autoboxing。当使用 int
作为键时。
换句话说,当使用例如map.get(1)
,您实际上执行的是 map.get(Integer.valueOf(1))
。也就是说,您正在将 int
原语转换为 Integer
类实例。
对于 SparseArray
,没有这种类型的转换,您只是在使用 int
。查看自动装箱链接了解更多详情。
关于java - "SparseArray - there can be gaps in the indices"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153345/
我必须使用两个键和一个值来实现类似于 Hashmap 的分类,比方说 Hashmap ,其中两个键是整数,值是我定义的通用 MyObject。 我读了this , this , 和 this发布,我也
我需要使用散列图在我的 Android 应用程序中存储键/值(可能有数千个),但我知道我应该使用 SparseArray 以节省内存。但是,我的 key 必须是一个字符串。有没有办法创建 Sparse
如何初始化一个static,android.util.SparseArray 的不可修改的实例? ? 最佳答案 这是使用匿名类的更好方法: static final SparseIntArray my
我正在使用 HashMap 实现位图缓存并在 Eclipse 中收到以下警告: Use new SparseArray(...) instead for better performance. 我以前
有没有办法迭代 Java SparseArray(适用于 Android)?我使用 sparsearray 轻松地按索引获取值。我找不到。 最佳答案 似乎我找到了解决方案。我没有正确注意到 keyAt
问题 Julia 有没有有效的方式 从给定的条目列表 (u,v,w) 构建一个巨大的稀疏矩阵 ,其中一些可以具有 相同地点 (u,v),在这种情况下,它们的权重 w 必须是 求和 .因此u,v,w是输
所以我正在编写一些非常简单的代码,并发现了非常意外的行为。所有 List 和 Map 实现都使用节点的 equals 方法来比较它们。因此,如果您有一个字符串列表,并且您想尝试获取列表中字符串的索引,
是否可以通过仅提供密集条目来初始化 pandas SparseArray?我无法从文档中弄清楚这一点:http://pandas.pydata.org/pandas-docs/stable/spars
嗨,我有一个简单的函数调用: RemoveSpecific(sheetType); // String sheettype 我希望它与 SparseArray 一起调用,因为我将根据 sheetTy
难道这不可能吗?如果没有,那么有没有类似的方法? public abstract class BaseItem { } public class SpecificItem extends BaseIt
我最近开始使用 Android SparseArray 代替 ArrayList 来处理少量项目。我想知道为什么它不像普通 ArrayList 那样包含 toArray() 方法?它包含一个用于值的私
我想使用 putExtra 将我的数据从 Activity1 发送到 Activity2。 我的自定义对象实现了 Serializable : public class ARObjectCategor
我使用针对用户名列表的唯一 int id 列表作为快速查找表,并决定使用 sparseArray 但我希望能够不时打印以记录整个列表以进行调试. SparseArray 不可迭代并且与 util.Ma
当整数键是资源 ID 时,是否建议使用 SparseArray ?或者它是针对数字较小的键? 是的,我知道 SparseArray 的定义,并且当使用带有整数键的 ArrayList 时,编译器总是发
如下图所示,latLng 等于 latlng1,但 indexOfValue() 返回不同的值。 这是为什么? 最佳答案 在内部,SparseArray 将值保存在 Objects 数组中。在 ind
我尝试用谷歌搜索这个警告,似乎找到了其他警告,但似乎有点不对劲。 Type safety: The method put(int, Object) belongs to the raw type Sp
我正在尝试从队列中获取结果,对其进行处理并在之后将其删除。但是我在访问 null key 的情况下遇到了 Java 异常,见下文 int key = 0; int size = mQueue.size
我想知道在 SparseArray 类的 HashMap 类上是否有与 putAll 方法等效的方法? 我很困惑是否应该使用 append、put 或 setValueAt 以及它是否会给我相同的结果
我如何通过 Moshi 将 SparseArray 序列化为 JSON?我真的不明白如何为此制作正确的适配器,感谢任何帮助。 编辑:我已经通过这段代码让它工作了 class SparseArrayJs
我想知道 SparseArray 和 HashMap 之间的性能和效率,以及哪个更好用。我无法理解何时使用 SparseArray 以及何时使用 Hashmap 最佳答案 SparseArray 是当
我是一名优秀的程序员,十分优秀!