Effizientere Methode zum Entfernen von Elementen aus einer Array-Liste

Ich habe so etwas wie eine Array-Liste entwickelt

<code>ArrayList<String> list = new ArrayList<String>();
list.add("1");
list.add("8");
list.add("8");
list.add("3");
list.add("4");
</code>

Jetzt ist meine Frage: Wenn ich die "8" von der Liste entfernen möchte, welcher Weg ist besser?

erster weg:

<code>for(int i = 0; i < list.size(); i++) {
    if(list.get(i).equals("8")) {
        list.remove(i);
        i--;
    }
}
</code>

Zweiter Weg:

<code>Iterator<String> iterator = list.iterator();
    while(iterator.hasNext())
        if(iterator.next().equals("8"))
            iterator.remove();
</code>

Bitte teilen Sie uns nun mit, welche davon unter Performance-Gesichtspunkten effizienter und schneller ist. Gibt es eine andere Möglichkeit, die wie eine eingebaute Funktion aussieht, können wir Duplikate entfernen, ohne sie so oft zu wiederholen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage