gpt4 book ai didi

Android SparseArray> 初始化

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:44 26 4
gpt4 key购买 nike

我必须使用两个键和一个值来实现类似于 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>>() 

您认为我的案例有更好的实现方式吗?

最佳答案

如果您有两个键和一个值,我将只使用普通的 HashMapSparseArray 并将这两个键组合成一个值。假设您有一个 String 键和一个 Long 键,因此您的映射键将是:(strKey + longKey).hashCode()。您可以将其用作 Integer 并将其保存到 SparseArray 或用作 String 并使用 HashMap

关于Android SparseArray<SparseArray<Object>> 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573120/

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