これは少し非効率的であるとlist.size()
で囲まれている変数index
のための制限がありますが、ここで、あなたは自分の価値観にアクセスすることができます今
ArrayList<HashMap> list = new ArrayList<HashMap>();
//index is where you want to place your element
if(list.size() > index){
list.get(index).put(key, value); # in your case key = a, value = 1
}else if(list.size() == index){
list.add(new HashMap<String,Integer>());
list.get(index).put(key, value); # in your case key = a, value = 1
}else {
System.out.println("Index out of bounds");
}
を行く:
list.get(<some index>).get(<some_key);
#i.e list.get(1).get("a");
注:上記のコードを使用すると、list.size() - 1
の範囲外のランダムインデックスにアクセスすることはできません。 index
変数は、これを行うための[最大list.size()
最良の方法は、a
とb
のための変数を持つ独自のクラスを作成することであることができます。次にlist = ArrayList<YourClass>();
を作成します。それははるかにクリーンです
理由私は、HashMapが設定されたサイズを持たずに初期化するときに、単純にHashMapを作成することを覚えているので、それはサイズを2倍にします。必要な要素の数が分かっている場合は、その数に初期化することができます。
2D配列が好きですか? –
あなたの質問は明確ではない、あなたはまだクラウドに住んでいる、あなたは落ち着くことができ、あなたが望むものを特定して例を挙げることができますか? –
もし1D配列でそれが欲しいのであれば。私は 例擬似コード c = mylist.getnode(1).a(最初のノードのaの値をc) d = mylist.getnode(1).b – Syarx