I want to take out and remove first element from the List. I can see, I have two options:

**First Approach:**

```
LinkedList<String> servers = new LinkedList<String>();
....
String firstServerName = servers.removeFirst();

```

**Second Approach**

```
ArrayList<String> servers = new ArrayList<String>();
....
String firstServerName = servers.remove(0);

```

I have lot of elements in my list.

* Is there any preference which one we should use?
* And what is the difference between the above two? Are they technically same thing in terms of performance? What is the complexity involve here if we have lot of elements?

What is the most efficient way to do this.