Hashmap のような分類を 2 つのキーと 1 つの値で実装する必要があります。たとえばHashmap<K1, K2, V>
、2 つのキーは整数で、値は私が定義した汎用 MyObject です。
this、this、およびthisの投稿を読みました。また、guava プロジェクトがtable インターフェイスを提供していることも知っていますが、プロジェクトをできるだけ小さく保つために (厳密に必要でない場合) 外部ライブラリを使用したくありません。そこで、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)
つまり、この 1 行で両方の SparseArray を初期化しますか?
SparseArray<SparseArray<MyObject>> myObjectSparseArray = new SparseArray<SparseArray<MyObject>>()
私の場合、より良い実装があると思いますか?