Alex Rivera | Logout

How to remove everything from an ArrayList in Java but the first element

Asked 2010-06-23T06:58:54.767
30

I am new to java programming, been programing in php so I'm used to this type of loop:

int size = mapOverlays.size();
for(int n=1;n<size;n++)
{
    mapOverlays.remove(n);
}

So I want to remove everything but the first item, so why doesn't this work? As I get it, after removal, array keys are rearranged or not?

Edit
Report

2 Answers

26

As I get it, after removal, array keys are rearranged or not? Yes, the item which was on position 2 is on position 1 after you removed the item on position 1.

You can try this:

Object obj = mapOverlays.get(0); // remember first item
mapOverlays.clear(); // clear complete list
mapOverlays.add(obj); // add first item
answered 2010-06-23T07:05:04.680
5

I think it would be faster to create a new ArrayList with just the first element inside. something like :

E temp = mapOverlays.get(0);
mapOverlays = new ArrayList<E>().add(temp);
answered 2010-06-23T07:08:33.403

Your Answer