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

Lesezeit: 3 Minuten

Benutzer-Avatar
Fledermaus aus der Hölle

Mein arraylist kann je nach Benutzereinstellung unterschiedlich gefüllt werden, daher habe ich es mit initialisiert

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

Wie kann ich Hunderte von Ganzzahlen hinzufügen, ohne es einzeln zu tun? arList.add(55);?

  • Ich beantworte diese Frage bereits unter stackoverflow.com/a/65368082/10304471

    – Trishant Saxena

    7. März 2021 um 6:05 Uhr

  • @Trishant Saxena: Nein, nicht für den allgemeinen Fall. Eher wie die Antwort von rhino9. Obwohl die Frage unterspezifiziert ist.

    – Peter Mortensen

    Vor 2 Tagen

  • Möchten Sie hinzufügen die gleiche Nummer Hunderte Male? Oder sind es willkürliche Zahlen?

    – Peter Mortensen

    Vor 2 Tagen


  • Dies muss waren 2013, fast 5 Jahre nach dem Start von Stack Overflow, ein Duplikat. Was ist die kanonische Frage?

    – Peter Mortensen

    Vor 2 Tagen


Benutzer-Avatar
Schwindel

Wenn Sie eine andere Liste haben, die alle Elemente enthält, die Sie hinzufügen möchten, können Sie dies tun arList.addAll(otherList). Wenn Sie der Liste immer dieselben Elemente hinzufügen, können Sie alternativ eine neue Liste erstellen, die so initialisiert wird, dass sie alle Ihre Werte enthält, und die verwenden addAll() Methode, mit so etwas wie

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.

  • Wirklich, ich dachte, es gäbe einen besseren Weg? Na ja, Schleifen funktioniert. Danke

    – Fledermaus aus der Hölle

    5. März 2013 um 1:12 Uhr

  • Ja, es sei denn, Sie möchten eine neue Liste erstellen, die mit all Ihren Werten initialisiert wird (siehe meine Bearbeitung oben), das sind Ihre Optionen.

    – Schwindel

    5. März 2013 um 1:21 Uhr

  • Der zweite ist definitiv der prägnanteste Weg, dies zu tun

    – ucMedia

    16. August 2020 um 12:11 Uhr

  • Genau das, wonach ich gesucht habe

    – Cleaton Pais

    11. Juni 2021 um 9:04 Uhr

Benutzer-Avatar
Adrian Schum

Was ist die “Quelle” dieser ganzen Zahlen? Wenn es etwas ist, das Sie in Ihrem Quellcode fest codieren müssen, können Sie dies tun

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

  • Dies ist definitiv die prägnanteste Art, dies zu tun.

    – knackig

    27. März 2014 um 19:13 Uhr

Benutzer-Avatar
Radiodef

Collections.addAll ist eine varargs-Methode, die es uns ermöglicht, eine beliebige Anzahl von Elementen in einer einzigen Anweisung zu einer Sammlung hinzuzufügen:

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

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

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

Wenn Sie mehrere Codezeilen vermeiden möchten, um Platz zu sparen, könnte diese Syntax möglicherweise 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"); (...);
            }
        };

Java 9+ erlaubt jetzt Folgendes:

List<Integer> arList = List.of(1,2,3,4,5);

Die Liste wird unveränderlich obwohl.

  • Schließlich ist dies die einzeilige Methode, um mehrere Elemente zu einer Liste hinzuzufügen. Keine Schleifen, keine zusätzlichen Listen, eine einfache Codezeile. Vielen Dank.

    – XyFreeman

    29. Juli 2021 um 12:06 Uhr

Benutzer-Avatar
Peter Mortensen

In einem Kotlin Weg;

val arList = ArrayList<String>()
arList.addAll(listOf(1,2,3,4,5))

  • Schließlich ist dies die einzeilige Methode, um mehrere Elemente zu einer Liste hinzuzufügen. Keine Schleifen, keine zusätzlichen Listen, eine einfache Codezeile. Vielen Dank.

    – XyFreeman

    29. Juli 2021 um 12:06 Uhr

Benutzer-Avatar
Peter Mortensen

Wenn Sie viele Ganzzahlen hinzufügen müssten, wäre es wahrscheinlich am einfachsten, a zu verwenden zum Schleife. Beispiel: Hinzufügen von 28 Tagen zu einem daysInFebruary-Array.

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

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

  • Ja, für einige der Beispiele in den Antworten hier. Aber sonst nicht.

    – Peter Mortensen

    Vor 2 Tagen

1016100cookie-checkFügen Sie mehrere Elemente zu einer bereits initialisierten Arrayliste in Java hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy