指定したインデックスのArrayListにオブジェクトを追加する 質問する

指定したインデックスのArrayListにオブジェクトを追加する 質問する

かなり簡単な質問だと思うのですが、これを適切に行う方法がわかりません。

空の配列リストがあります:

ArrayList<object> list = new ArrayList<object>();

いくつかのオブジェクトがあり、その中にオブジェクトを追加したいのですが、各オブジェクトは特定の位置になければなりません。ただし、可能な順序で追加できる必要があります。これを試してみると、うまくいかず、次のメッセージが表示されますIndexOutOfBoundsException

list.add(1, object1)
list.add(3, object3)
list.add(2, object2)

私が試したのは、 を入力してから上記を実行することですArrayListnullうまくいきますが、ひどい解決策だと思います。 これを行う別の方法はありますか?

ベストアンサー1

次のように実行できます:

list.add(1, object1)
list.add(2, object3)
list.add(2, object2)

object2 を位置 2 に追加すると、object3 が位置 3 に移動します。

object3 を常に position3 に配置したい場合は、位置をキー、オブジェクトを値として HashMap を使用することをお勧めします。

おすすめ記事