it-swarm.com.de

Fügen Sie mehrere Elemente zu einer bereits initialisierten Arrayliste in Java hinzu

Ich google es und kann die Syntax nicht finden. Meine arraylist kann je nach Benutzereinstellung unterschiedlich aufgefüllt werden, daher habe ich sie initialisiert

ArrayList<Integer> arList = new ArrayList<Integer>();

Und jetzt möchte ich hunderte von ganzen Zahlen hinzufügen, ohne dies mit arList.add(55); zu tun.

60
batoutofhell

Wenn Sie über eine andere Liste verfügen, die alle Elemente enthält, die Sie hinzufügen möchten, können Sie arList.addAll(otherList) ausführen. Wenn Sie der Liste immer dieselben Elemente hinzufügen, können Sie alternativ eine neue Liste erstellen, die alle Ihre Werte enthält und die addAll()-Methode verwendet 

Integer[] otherList = new Integer[] {1, 2, 3, 4, 5};
arList.addAll(Arrays.asList(otherList));

oder, wenn Sie dieses unnötige Array nicht erstellen möchten:

arList.addAll(Arrays.asList(1, 2, 3, 4, 5));

Andernfalls müssen Sie eine Art Schleife haben, die die Werte einzeln zur Liste hinzufügt.

84
scaevity

Was ist die "Quelle" dieser Ganzzahl? Wenn es etwas ist, das Sie in Ihrem Quellcode fest programmieren müssen, können Sie dies tun

arList.addAll(Arrays.asList(1,1,2,3,5,8,13,21));
25
Adrian Shum

Collections.addAll ist eine Varargs-Methode, mit der einer Sammlung beliebig viele Elemente in einer einzigen Anweisung hinzugefügt werden können:

List<Integer> list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);

Es kann auch verwendet werden, um einer Collection Array-Elemente hinzuzufügen:

Integer[] arr = ...;
Collections.addAll(list, arr);
3
Radiodef

Wenn Sie mehrere Codezeilen vermeiden möchten, um Platz zu sparen, könnte diese Syntax nützlich sein: 

        Java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); 
                add("value2");
            }
        };

Wenn Sie neue Zeilen entfernen, können Sie sie komprimiert anzeigen als: 

        Java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); add("value2"); (...);
            }
        };
3
Fran G Aparicio

Wenn Sie viele Ganzzahlen hinzufügen müssen, ist es am einfachsten, eine for-Schleife zu verwenden. Beispielsweise fügen Sie einem daysInFebruary-Array 28 Tage hinzu.

ArrayList<Integer> daysInFebruary = new ArrayList<>();

for(int i = 1; i <= 28; i++) {
    daysInFebruary.add(i);
}
0
sg9