1. ホーム
  2. java

[解決済み] ArrayListに指定したインデックスでオブジェクトを追加する。

2022-04-28 15:48:32

質問

かなり簡単な質問だと思うのですが、どうすればうまくできるのかがわかりません。

空のarraylistを用意しました。

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

追加したいオブジェクトがいくつかあって、それぞれのオブジェクトはある位置になければなりません。しかし、それぞれのオブジェクトを可能な限り順番に追加できることが必要です。これを試すと、うまくいかずに IndexOutOfBoundsException :

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

私が試したのは ArrayListnull を行い、上記のようにします。うまくいくのですが、ひどい解決方法だと思います。他に方法はないのでしょうか?

どのように解決するのですか?

このようにできます。

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

オブジェクト2をポジション2に追加した後、オブジェクト3をポジション3に移動させます。

もし、object3が常にposition3にいるようにしたいのであれば、positionをキー、objectを値とするHashMapを使用することをお勧めします。