かなり簡単な質問だと思うのですが、これを適切に行う方法がわかりません。
空の配列リストがあります:
ArrayList<object> list = new ArrayList<object>();
いくつかのオブジェクトがあり、その中にオブジェクトを追加したいのですが、各オブジェクトは特定の位置になければなりません。ただし、可能な順序で追加できる必要があります。これを試してみると、うまくいかず、次のメッセージが表示されますIndexOutOfBoundsException
。
list.add(1, object1)
list.add(3, object3)
list.add(2, object2)
私が試したのは、 を入力してから上記を実行することですArrayList
。null
うまくいきますが、ひどい解決策だと思います。 これを行う別の方法はありますか?
ベストアンサー1
次のように実行できます:
list.add(1, object1)
list.add(2, object3)
list.add(2, object2)
object2 を位置 2 に追加すると、object3 が位置 3 に移動します。
object3 を常に position3 に配置したい場合は、位置をキー、オブジェクトを値として HashMap を使用することをお勧めします。