0

を使用していHashMap<Integer, ArrayList>ます。私のArrayListでは、2 番目の要素は、intそれを 1 ずつ増やす必要がある です。どうすればこれを達成できますか?

public class IncrementAge {

    /** integer is key; value is ArrayList. */
    Map<Integer, ArrayList> idNumber = new HashMap<Integer, ArrayList>();

    /** array that contains name and age (only two elements). */
    ArrayList<> person = new ArrayList();

    /** name is 1st(0) element in array while age is second(1) element. */
    this.person.add(0, "jose");
    this.person.add(1, 32);

    /** place this object in hashMap with key=0; obj=person. */

    idNumber.put(0, this.person);
}

idNumberのキー値に基づいて、このオブジェクトの年齢をどのようにインクリメントすればよいHashSetですか?

4

2 に答える 2

0

次のコード スニペットは、年齢を増やすのに役立ちます。

Integer age = (Integer)idNumber.get(0).remove(1);
age++;
idNumber.get(0).add(1, age);

説明:
- idNumber.get(0): ここで 0 は、年齢を増やす必要がある人物のキーを表します
- remove(1): ArrayList の人物、つまり年齢からインデックス 1 のオブジェクトを削除して返します。
- age++: 年齢を 1 増やします
- add(1, age): age オブジェクトをインデックス 1 の ArrayList に追加します。

しかし、既に示唆されているように、このコードの書き方は良い方法ではなく、ArrayList preson を使用する代わりに、Person クラスを設計し、そのオブジェクトを HashMap に値として格納することをお勧めします。

于 2013-11-12T13:01:28.567 に答える