web-dev-qa-db-de.com

Wie benutze ich ArrayList.addAll ()?

Ich möchte ein ArrayList mit diesen Zeichen +, -, *, ^ usw. füllen. Wie kann ich dies tun, ohne jedes Zeichen mit arrayList.add() hinzufügen zu müssen?

35
masb

Collections.addAll ist was Sie wollen.

Collections.addAll(myArrayList, '+', '-', '*', '^');

Eine andere Möglichkeit besteht darin, die Liste mit Arrays.asList wie folgt an den Konstruktor zu übergeben:

List<Character> myArrayList = new ArrayList<Character>(Arrays.asList('+', '-', '*', '^'));

Wenn Sie jedoch gut mit der Array-Liste mit fester Länge umgehen können, können Sie mit der Erstellung so einfach wie list = Arrays.asList(...) fortfahren. Arrays.asList-Spezifikation gibt an, dass eine Liste mit fester Länge zurückgegeben wird, die als Brücke zu dem übergebenen Array fungiert sei nicht was du brauchst.

79
bezmax

Angenommen, Sie haben ein ArrayList, das Zeichen enthält, dann könnten Sie dies tun:

List<Character> list = new ArrayList<Character>();
list.addAll(Arrays.asList('+', '-', '*', '^'));
7
Jesper

Sie können Google Guave als solche verwenden:

ImmutableList<char> dirs = ImmutableList.of('+', '-', '*', '^');
3
leokash

Sie können die asList -Methode mit varargs verwenden, um dies in einer Zeile zu tun:

Java.util.Arrays.asList('+', '-', '*', '^');

Wenn die Liste nicht weiter modifiziert werden muss, ist dies bereits ausreichend. Andernfalls können Sie es an den ArrayList-Konstruktor übergeben, um eine veränderbare Liste zu erstellen:

new ArrayList(Arrays.asList('+', '-', '*', '^'));
1
Jörn Horstmann

Vielleicht hilft das

List<String> l = Arrays.asList("+","-");
0
baba.kabira

Verwenden Sie die Klasse Arrays in Java, wodurch Sie ein ArrayList erhalten:

final List<String> characters = Arrays.asList("+","-");

Sie benötigen etwas mehr Arbeit, wenn Sie einen List<Character> Benötigen.

0
vanadium