我必须使用两个键和一个值来实现类似 Hashmap 的分类,比如说Hashmap<K1, K2, V>
,其中两个键是整数,值是我定义的通用 MyObject。
我读了这个、这个和这个帖子,我也知道 guava 项目提供了表格接口,但我不想使用外部库(如果不是严格必要的话)来让我的项目尽可能小。所以我决定使用 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)
换句话说:我是否用这一行初始化两个 SparseArrays?
SparseArray<SparseArray<MyObject>> myObjectSparseArray = new SparseArray<SparseArray<MyObject>>()
你认为我的情况有更好的实现吗?