J. Maes J. Maes - 2 years ago 64
Java Question

Add object to ArrayList at specified index

I think it's a fairly simple question, but I can't figure out how to do this properly.

I've got an empty arraylist:

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

I've got some objects I want to add and each object has to be at a certain position. It is necessary however that they can be added in each possible order. When I try this, it doesn't work and I get an

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

What I have tried is filling the
and then doing the above. It works, but I think it's a horrible solution. Is there another way to do this?

Answer Source

You can do it like this:

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

After you add object2 to position 2, it will move object3 to position 3.

If you want object3 to be at position3 all the time I'd suggest you use a HashMap with position as key and object as a value.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download