Konvertieren zwischen einem Array und einer Liste

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Arrays sind weit verbreitete lineare Datenstrukturen in Java zum Speichern von Datensammlungen. Sie ermöglichen den Zufallszugriff auf jedes Element des Arrays über seinen Index, da die Elemente in aufeinanderfolgenden Speicherblöcken zugewiesen werden. Andererseits bietet die List-Schnittstelle eine Möglichkeit, eine geordnete Datensammlung zu verwalten, und wird von Klassen wie ArrayList und LinkedList implementiert. In diesem Lab werden wir lernen, wie man ein Array in eine Liste und umgekehrt mithilfe verschiedener Methoden in Java umwandelt.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/for_loop("For Loop") java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") subgraph Lab Skills java/for_loop -.-> lab-117399{{"Konvertieren zwischen einem Array und einer Liste"}} java/arrays -.-> lab-117399{{"Konvertieren zwischen einem Array und einer Liste"}} java/arrays_methods -.-> lab-117399{{"Konvertieren zwischen einem Array und einer Liste"}} java/collections_methods -.-> lab-117399{{"Konvertieren zwischen einem Array und einer Liste"}} java/arraylist -.-> lab-117399{{"Konvertieren zwischen einem Array und einer Liste"}} end

Umwandeln eines Arrays in eine Liste mit der asList()-Methode

Die asList()-Methode der Arrays-Klasse kann verwendet werden, um ein Array in eine Liste umzuwandeln. Sie nimmt das Array als Parameter und gibt eine Liste seiner Elemente zurück. Um ein Array in eine Liste mit der asList()-Methode umzuwandeln, werden wir die folgenden Schritte ausführen:

  • Erstellen eines String-Arrays und eines Integer-Arrays und Initialisierung mit Werten
  • Verwenden der Arrays.asList()-Methode, um die Arrays in Listen umzuwandeln
  • Ausgeben der Listen
import java.util.Arrays;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Schritt 1: Umwandeln eines Arrays in eine Liste mit der asList()-Methode
        // Erstellen eines String-Arrays
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Erstellen eines Integer-Arrays
        Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
        // Umwandeln der Arrays in Listen mit der asList()-Methode
        List<String> strList = Arrays.asList(strArr);
        List<Integer> intList = Arrays.asList(intArr);
        // Ausgeben der Listen
        System.out.println("Array to List using asList() Method: ");
        System.out.println(strList);
        System.out.println(intList);
    }
}

Um den Code auszuführen, öffnen Sie das Terminal, navigieren Sie zum Projektordner und geben Sie den folgenden Befehl ein: javac ArrayToList.java && java ArrayToList

Umwandeln eines Arrays in eine Liste mit der Collections.addAll()-Methode

Die Collections.addAll()-Methode kann verwendet werden, um alle Elemente eines Arrays einer Liste hinzuzufügen. Zunächst müssen wir eine leere Liste erstellen und dann das vorhandene Array und die neue Liste als Parameter dieser Methode übergeben. Um ein Array in eine Liste mit der Collections.addAll()-Methode umzuwandeln, werden wir die folgenden Schritte ausführen:

  • Erstellen eines String-Arrays und eines Integer-Arrays und Initialisierung mit Werten
  • Erstellen einer leeren Liste vom entsprechenden Datentyp mit der ArrayList-Klasse
  • Verwenden der Collections.addAll()-Methode, um die Elemente der Arrays der Liste hinzuzufügen
  • Ausgeben der Listen
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Schritt 2: Umwandeln eines Arrays in eine Liste mit der Collections.addAll()-Methode
        // Erstellen eines String-Arrays
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Erstellen eines Integer-Arrays
        Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
        // Erstellen leerer Listen vom entsprechenden Datentyp
        List<String> strList = new ArrayList<String>();
        List<Integer> intList = new ArrayList<Integer>();
        // Verwenden der Collections.addAll()-Methode, um die Elemente der Arrays der Liste hinzuzufügen
        Collections.addAll(strList, strArr);
        Collections.addAll(intList, intArr);
        // Ausgeben der Listen
        System.out.println("Array to List using Collections.addAll() Method: ");
        System.out.println(strList);
        System.out.println(intList);
    }
}

Um den Code auszuführen, öffnen Sie das Terminal, navigieren Sie zum Projektordner und geben Sie den folgenden Befehl ein: javac ArrayToList.java && java ArrayToList

Umwandeln eines Arrays in eine Liste mit der Lists.newArrayList()-Methode von Guava

Die Lists.newArrayList()-Methode aus der Guava-Bibliothek kann ebenfalls verwendet werden, um ein Array in eine ArrayList umzuwandeln. Um ein Array in eine Liste mit der Lists.newArrayList()-Methode umzuwandeln, werden wir die folgenden Schritte ausführen:

  • Erstellen eines String-Arrays und eines Integer-Arrays und Initialisierung mit Werten
  • Verwenden der Lists.newArrayList()-Methode, um die Arrays in ArrayLists umzuwandeln
  • Ausgeben der ArrayLists
import com.google.common.collect.Lists;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Schritt 3: Umwandeln eines Arrays in eine Liste mit der Lists.newArrayList()-Methode von Guava
        // Erstellen eines String-Arrays
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Erstellen eines Integer-Arrays
        Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
        // Umwandeln der Arrays in ArrayLists mit der Lists.newArrayList()-Methode von Guava
        List<String> strList = Lists.newArrayList(strArr);
        List<Integer> intList = Lists.newArrayList(intArr);
        // Ausgeben der ArrayLists
        System.out.println("Array to List using Guava's Lists.newArrayList() Method: ");
        System.out.println(strList);
        System.out.println(intList);
    }
}

Um den Code auszuführen, öffnen Sie das Terminal, navigieren Sie zum Projektordner und geben Sie den folgenden Befehl ein: javac ArrayToList.java && java ArrayToList

Schreiben unserer eigenen Methode zum Konvertieren eines Arrays in eine Liste

Wir können auch unsere eigene Methode schreiben, um ein Array in eine Liste zu konvertieren. Wir werden die add()-Methode der List-Schnittstelle verwenden, um die Elemente des Arrays zur Liste hinzuzufügen. Um unsere eigene Methode zu schreiben, werden wir die folgenden Schritte ausführen:

  • Schreiben einer Methode, die ein String-Array als Parameter nimmt und eine Liste von Strings zurückgibt
  • Innerhalb der Methode erstellen einer leeren ArrayList
  • Durchlaufen des Arrays und Hinzufügen jedes Elements zur ArrayList mit der add()-Methode
  • Rückgabe der ArrayList
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    // Schritt 4: Schreiben unserer eigenen Methode zum Konvertieren eines Arrays in eine Liste
    public static List<String> arrayToList(String[] strArr) {
        List<String> strList = new ArrayList<String>();
        for(int i = 0; i <= strArr.length - 1; i++)
            strList.add(strArr[i]);
        return strList;
    }

    public static void main(String[] args) {
        // Erstellen eines String-Arrays
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Konvertieren des Arrays in eine Liste mit unserer eigenen Methode
        List<String> strList = arrayToList(strArr);
        // Ausgeben der Liste
        System.out.println("Array to List using our own method: ");
        System.out.println(strList);
    }
}

Um den Code auszuführen, öffnen Sie das Terminal, navigieren Sie zum Projektordner und geben Sie den folgenden Befehl ein: javac ArrayToList.java && java ArrayToList

Konvertieren einer Liste in ein Array mit der toArray()-Methode

Die toArray()-Methode kann verwendet werden, um eine Liste in ein Array zu konvertieren. Sie nimmt ein Array als Parameter und gibt ein Array zurück, das die Elemente der Liste enthält. Um eine Liste in ein Array mit der toArray()-Methode zu konvertieren, werden wir die folgenden Schritte ausführen:

  • Erstellen einer ArrayList und Hinzufügen von Elementen
  • Verwenden der toArray()-Methode, um die ArrayList in ein Array zu konvertieren
  • Ausgeben des Arrays
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Schritt 5: Konvertieren einer Liste in ein Array mit der toArray()-Methode
        // Erstellen einer ArrayList
        List<String> strList = new ArrayList<String>();
        strList.add("this");
        strList.add("is");
        strList.add("a");
        strList.add("string");
        strList.add("array");

        // Konvertieren der ArrayList in ein Array mit der toArray()-Methode
        String[] strArr = strList.toArray(new String[0]);

        // Ausgeben des Arrays
        System.out.println("List to Array using toArray() Method: ");
        for(int i = 0; i <= strArr.length - 1; i++)
            System.out.print(strArr[i] + " ");
    }
}

Um den Code auszuführen, öffnen Sie das Terminal, navigieren Sie zum Projektordner und geben Sie den folgenden Befehl ein: javac ArrayToList.java && java ArrayToList

Konvertieren einer Liste in ein Array mit der Iterables.toArray()-Methode von Guava

Die Iterables.toArray()-Methode aus der Guava-Bibliothek kann ebenfalls verwendet werden, um eine Liste in ein Array zu konvertieren. Um eine Liste in ein Array mit der Iterables.toArray()-Methode zu konvertieren, werden wir die folgenden Schritte ausführen:

  • Erstellen einer ArrayList und Hinzufügen von Elementen
  • Verwenden der Iterables.toArray()-Methode, um die ArrayList in ein Array zu konvertieren
  • Ausgeben des Arrays
import com.google.common.collect.Iterables;
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Schritt 6: Konvertieren einer Liste in ein Array mit der Iterables.toArray()-Methode von Guava
        // Erstellen einer ArrayList
        List<String> strList = new ArrayList<String>();
        strList.add("this");
        strList.add("is");
        strList.add("a");
        strList.add("string");
        strList.add("array");

        // Konvertieren der ArrayList in ein Array mit der Iterables.toArray()-Methode von Guava
        String[] strArr = Iterables.toArray(strList, String.class);

        // Ausgeben des Arrays
        System.out.println("List to Array using Guava's Iterables.toArray() Method: ");
        for(int i = 0; i <= strArr.length - 1; i++)
            System.out.print(strArr[i] + " ");
    }
}

Um den Code auszuführen, öffnen Sie das Terminal, navigieren Sie zum Projektordner und geben Sie den folgenden Befehl ein: javac ArrayToList.java && java ArrayToList

Schreiben unserer eigenen Methode zum Konvertieren einer Liste in ein Array

Wir können auch unsere eigene Methode schreiben, um eine Liste in ein Array zu konvertieren. Wir werden die Liste durchlaufen und jedes Element mit der get()-Methode abrufen und es anhand der Array-Indizes zum Array hinzufügen. Um unsere eigene Methode zu schreiben, werden wir die folgenden Schritte ausführen:

  • Schreiben einer Methode, die eine Liste von Strings als Parameter nimmt und ein String-Array zurückgibt
  • Innerhalb der Methode erstellen eines leeren String-Arrays der gleichen Größe wie die Liste
  • Die Liste durchlaufen und jedes Element anhand der Array-Indizes zum Array hinzufügen
  • Das Array zurückgeben
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    public static String[] listToArray(List<String> strList) {
        String[] strArr = new String[strList.size()];
        for(int i = 0; i <= strList.size() - 1; i++)
            strArr[i] = strList.get(i);
        return strArr;
    }

    public static void main(String[] args) {
        // Schreiben unserer eigenen Methode zum Konvertieren einer Liste in ein Array
        // Erstellen einer ArrayList
        List<String> strList = new ArrayList<String>();
        strList.add("this");
        strList.add("is");
        strList.add("a");
        strList.add("string");
        strList.add("array");

        // Konvertieren der ArrayList in ein Array mit unserer eigenen Methode
        String[] strArr = listToArray(strList);

        // Ausgeben des Arrays
        System.out.println("List to Array using our own method: ");
        for(int i = 0; i <= strArr.length - 1; i++)
            System.out.print(strArr[i] + " ");
    }
}

Um den Code auszuführen, öffnen Sie das Terminal, navigieren Sie zum Projektordner und geben Sie den folgenden Befehl ein: javac ArrayToList.java && java ArrayToList

Zusammenfassung

In diesem Lab haben wir verschiedene Methoden untersucht, um in Java ein Array in eine Liste und eine Liste wieder in ein Array umzuwandeln. Wir haben gesehen, wie wir die asList()-Methode der Arrays-Klasse, die addAll()-Methode der Collections-Klasse und die Lists.newArrayList()-Methode aus der Guava-Bibliothek verwenden können, um ein Array in eine Liste umzuwandeln. Wir haben auch gesehen, wie wir die toArray()-Methode und die Iterables.toArray()-Methode aus der Guava-Bibliothek verwenden können, um eine Liste in ein Array umzuwandeln. Schließlich haben wir unsere eigenen Methoden geschrieben, um diese Umwandlungen durchzuführen. Das Verständnis der verschiedenen Methoden zum Konvertieren von Arrays in Listen und umgekehrt kann uns helfen, das Potenzial beider Datenstrukturen zu nutzen und unsere Programmierfähigkeiten in Java zu verbessern.