- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我必须使用两个键和一个值来实现类似于 Hashmap 的分类,比方说 Hashmap<K1, K2, V>
,其中两个键是整数,值是我定义的通用 MyObject。
我读了this , this , 和 this发布,我也知道 Guava 项目提供the table interface ,但我不想使用外部库(如果不是绝对必要的话)来使我的项目尽可能小。所以我决定使用 SparseArrays:我认为这是更好的选择,因为我的键是 int 并且不一定从零开始递增。
我做这个初始化:
SparseArray<SparseArray<MyObject>> myObjectSparseArray = new SparseArray<SparseArray<MyObject>>();
现在进入正题。我可以做这种操作吗:
MyObject myObject = new MyObject();
myObjectSparseArray.get(3).put(2,myObject);
或者我应该这样做:
MyObject myObject = new MyObject();
myObjectSparseArray.put(3, new SparseArray<MyObject>());
myObjectSparseArray.get(3).put(2,myObject)
换句话说:我是否用这一行来初始化两个 SparseArray?
SparseArray<SparseArray<MyObject>> myObjectSparseArray = new SparseArray<SparseArray<MyObject>>()
您认为我的案例有更好的实现方式吗?
最佳答案
如果您有两个键和一个值,我将只使用普通的 HashMap
或 SparseArray
并将这两个键组合成一个值。假设您有一个 String
键和一个 Long
键,因此您的映射键将是:(strKey + longKey).hashCode()
。您可以将其用作 Integer
并将其保存到 SparseArray
或用作 String
并使用 HashMap
。
关于Android SparseArray<SparseArray<Object>> 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573120/
我必须使用两个键和一个值来实现类似于 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 是当
我是一名优秀的程序员,十分优秀!