covert list array
In diesem Tutorial wird erläutert, wie Sie eine Java-Liste in ein Array und andere Sammlungen konvertieren. Es enthält Beispiele zum Konvertieren von Listen in Arrays, Strings, Sets und umgekehrt:
In unseren früheren Tutorials haben wir die Details der Listensammlung besprochen. Wir haben die verschiedenen Operationen in der Liste, den Iteratoren usw. gesehen. Bei einer gegebenen Liste können wir diese Liste in andere Sammlungen oder Datenstrukturen wie Zeichenfolgen, Arrays, ArrayList, Set usw. konvertieren.
=> Besuchen Sie hier für die exklusive Java Training Tutorial-Reihe.
Was du lernen wirst:
Listenkonvertierungen
Hier übertragen wir die Elemente tatsächlich von einer Sammlung / Struktur in eine andere und ändern dabei tatsächlich das Layout der Elemente, da jede Sammlung oder Datenstruktur ein eigenes Layout hat.
In diesem Tutorial werden einige Konvertierungen aus der Liste in andere Datenstrukturen und umgekehrt erläutert.
Liste in String konvertieren
Sie können die Liste der Elemente einfach in ihre Zeichenfolgendarstellung konvertieren. Meistens möchten Sie eine Liste von Zeichenfolgen oder Zeichen in eine Zeichenfolgendarstellung konvertieren.
Es gibt verschiedene Methoden, um die Liste in eine Zeichenfolge zu konvertieren. Die beliebtesten werden unten diskutiert.
# 1) Verwenden der toString-Methode
Dies ist die einfachste Methode, um eine Liste in einen String umzuwandeln. Bei dieser Methode verwenden Sie einfach die Methode 'toString' für eine Liste, die die Liste in eine Zeichenfolgendarstellung konvertiert.
Das folgende Programm zeigt die Implementierung der toString-Methode.
import java.util.Arrays; import java.util.List; // Convert List of Characters to String in Java class Main { public static void main(String() args) { // create and initialize a character list List strList = Arrays.asList('H', 'e', 'l', 'l', 'o'); //convert list to string using toString method System.out.println('List converted to string representation:
' + strList.toString()); //replace comma between characters with blanks String string = strList.toString() .substring(1, 3 * strList.size() - 1) .replaceAll(', ', ''); // print string System.out.println('String representation by removing delimiters:
' + string); } }
Ausgabe:
In diesem Programm können Sie sehen, dass nach dem Konvertieren der Zeichenliste in eine Zeichenfolgendarstellung die Zeichenfolge weiter verfeinert wird, indem die Begrenzungszeichen entfernt und als einzelnes Wort dargestellt werden.
# 2) Verwenden der Collectors Class
Ab Java 8 können Sie Stream-APIs mit der Klasse 'Collectors' verwenden, um die Liste in eine Zeichenfolge zu konvertieren.
Beispiel:
import java.util.stream.Collectors; import java.util.Arrays; import java.util.List; class Main { public static void main(String() args) { // create and initialize list List strList = Arrays.asList('W', 'o', 'r', 'l','d'); // convert list to string using collect and joining() method String string= strList.stream().map(String::valueOf).collect(Collectors.joining()); // print string System.out.println('List converted to string:' + string); } }
Ausgabe:
Im obigen Programm verwenden wir Stream-APIs, ordnen die Werte zu und verwenden dann die join () -Methode der Collectors-Klasse und konvertieren die Liste in einen String.
# 3) Verwenden der StringBuilder-Klasse
Die dritte Methode zum Konvertieren der Liste in einen String ist die Verwendung eines StringBuilder-Objekts. Hier wird jedes Element in der Liste mithilfe einer Schleife an das StringBuilder-Objekt angehängt. Anschließend wird das StringBuilder-Objekt mithilfe der toString-Methode in seine Zeichenfolgendarstellung konvertiert.
Überprüfen Sie das folgende Programm für die Demonstration.
import java.util.Arrays; import java.util.List; class Main { public static void main(String() args) { // create and initialize the list List strList = Arrays.asList('I', 'n', 'd', 'i', 'a'); // object of stringBuilder StringBuilder sb = new StringBuilder(); // use append method to append list element to StringBuilder object for (Character ch : strList) { sb.append(ch); } // convert StringBuilder object to string using toString() String string = sb.toString(); // print string System.out.println('List converted to string: ' + string); } }
Ausgabe:
Das obige Programm zeigt die Verwendung des StringBuilder-Objekts, an das die Elemente in der Liste angehängt werden. Dann wird das Objekt in eine Zeichenfolge konvertiert.
Konvertieren einer Liste in ein Array
Bei einer Liste von Elementen müssen Sie diese Liste in ein Array konvertieren. Zu diesem Zweck können Sie eine der unten beschriebenen Methoden verwenden.
# 1) Verwenden von toArray
Der einfachste Weg, eine Liste in ein Array zu konvertieren, ist die Verwendung der toArray-Methode der Liste.
Das folgende Programm zeigt diese Implementierung der toArray-Methode.
import java.util.*; public class Main { public static void main(String() args) { //create and initialize list List strList = new LinkedList(); strList.add('This'); strList.add('is'); strList.add('Java'); strList.add('Tutorial'); System.out.println('The given list:' + strList); //use toArray method to convert list to array String() strArray = strList.toArray(new String(0)); //print the array System.out.println('The Array from List: '); for (String val : strArray) System.out.print(val + ' '); } }
Ausgabe:
Im obigen Programm haben wir eine Liste von Zeichenfolgen mithilfe der Methode 'toArray' in ein Zeichenfolgenarray konvertiert.
# 2) Verwenden von Java 8 Stream
wie man kostenlos Quickbooks bekommt
Die nächste Methode zum Konvertieren einer Liste in ein Array ist die Verwendung der Stream-APIs von Java 8. In diesem Fall wird die Liste zuerst in Stream und dann mit stream () konvertiert. ToArray wird in ein Array konvertiert.
Das folgende Java-Programm zeigt diese Konvertierung.
import java.util.*; class Main { public static void main (String()args) { //create and initialize the list List l_list = new LinkedList (); l_list.add ('Software'); l_list.add ('Testing'); l_list.add ('Help'); l_list.add ('Tutorial'); System.out.println('The given list:' + l_list); //Convert list to array using stream and toArray methods String() str_array = l_list.stream ().toArray (String()::new); //print the array System.out.println('The Array converted from list : '); for (String val:str_array) System.out.print (val + ' '); } }
Ausgabe:
Das obige Programm verwendet Stream-APIs von Java 8 und konvertiert die Liste in ein Array. Das Array wird dann für jede Schleife gedruckt.
# 3) Verwenden der get-Methode
Dies ist eine weitere Methode zum Konvertieren der Liste in ein Array. In diesem Fall verwenden wir get () der Liste, mit dem einzelne Elemente der Liste abgerufen werden können.
Das Programm zum Konvertieren der Liste in ein Array mit der Methode get () ist unten dargestellt.
import java.io.*; import java.util.List; import java.util.LinkedList; class Main { public static void main (String() args) { List colors_list = new LinkedList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Yellow'); System.out.println('Given list: ' + colors_list); //define the array String() colors_array = new String(colors_list.size()); // get list elements into the array for (int i =0; i Ausgabe:

Im obigen Programm haben wir ein Array mit der gleichen Größe wie eine Liste erstellt. Anschließend werden in einer Schleife die Listenelemente mit der Methode get () abgerufen und dem Array zugewiesen.
Array in Liste konvertieren
Da Sie eine Liste in ein Array konvertieren können, können Sie ein Array auch in eine Liste in Java konvertieren. Im Folgenden sind einige der Methoden aufgeführt, mit denen Sie ein Array in eine Liste konvertieren können.
# 1) Verwenden von einfachem Java-Code
Dies ist die traditionelle Methode zum Konvertieren eines Arrays in eine Liste. Hier fügen Sie jedes Array-Element einzeln mithilfe einer Schleife zur Liste hinzu. Hierfür wird die Add-Methode der Liste verwendet.
Das folgende Programm implementiert die herkömmliche Methode zum Konvertieren eines Arrays in eine Liste.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { // Create and initialize an Array String strArray() = { 'Java', 'Python', 'C++', 'SQL', 'Perl' }; // Print the Array System.out.println('Array: ' + Arrays.toString(strArray)); // Create a List List strlist = new ArrayList(); // Iterate through the array and add each element to the list for (String val : strArray) { strlist.add(val); } // Print the List System.out.println('
List obtained from array: ' + strlist); } }
Ausgabe:

# 2) Verwenden der asList () -Methode
Die nächste Methode zum Konvertieren eines Arrays in eine Liste ist die Verwendung der asList () -Methode der Arrays-Klasse. Hier können Sie Array als Argument an die asList () -Methode übergeben und die erhaltene Liste zurückgeben.
Das folgende Programm zeigt dies.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { //create and intialize array Integer() oddArray = { 1,3,5,7,9,11 }; //declare a list and use asList method to assign the array to list List oddList = Arrays.asList(oddArray); // Print the List System.out.println('List from array: ' + oddList); } }
Ausgabe:

Im obigen Programm haben wir eine Reihe von ungeraden Zahlen. Dann erstellen wir eine Liste von Ganzzahlen und weisen sie der Ausgabe der asList-Methode zu, die eine Liste ist.
# 3) Verwenden der Collection.addAll () -Methode
Sie können auch die addAll () -Methode der Collections-Klasse verwenden, da das Array und die Liste beide Teile des Collection-Frameworks in Java sind.
Das folgende Programm zeigt die Verwendung der Collections.addAll () -Methode zum Konvertieren eines Arrays in eine Liste.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { // Create and initialize an Array String strArray() = { 'Java', 'C++', 'C', 'Perl', 'Python' }; // Print the Array System.out.println('Array: ' + Arrays.toString(strArray)); // create a string list List myList = new ArrayList(); // Add array to list using Collections addAll method Collections.addAll(myList, strArray); // Print the List System.out.println('List obtained from array: ' + myList); } }
Ausgabe:

Hier haben wir ein Array initialisiert. Wir haben eine leere Liste erstellt. Anschließend wird die Collections.addAll () -Methode verwendet, indem Listen und Arrays als Argument übergeben werden. Bei erfolgreicher Ausführung dieser Methode wird eine Liste mit den Array-Elementen gefüllt.
# 4) Verwenden von Java 8-Streams
Der nächste Ansatz zum Konvertieren eines Arrays in eine Liste ist die Verwendung der Java 8 Stream-API und der Collectors-Klasse. Hier wird das Array zuerst in Stream konvertiert und dann werden die Elemente mithilfe von Stream in einer Liste gesammelt. Methode sammeln. Die Liste wird schließlich zurückgegeben.
Das folgende Programm zeigt die Implementierung, die das Array mithilfe der Stream-API in eine Liste konvertiert.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { // Create and initialize an Array String colorsArray() = { 'Red', 'Green', 'Blue', 'Yellow', 'Magenta' }; // Print the Array System.out.println('Array: ' + Arrays.toString(colorsArray)); // convert the Array to List using stream () and Collectors class List colorslist = Arrays .stream(colorsArray) .collect(Collectors.toList()); // Print the List System.out.println('List from Array: ' + colorslist); } }
Ausgabe:

Im obigen Programm wird ein Array von Farben erstellt. Als nächstes wird eine leere Liste erstellt, und dann wird die Liste, die mithilfe der Stream-API aus dem Array abgerufen wurde, der Liste zugewiesen.
Liste in Set konvertieren
Eine Menge ist eine ungeordnete Sammlung von Elementen, die keine doppelten Werte zulässt. Set ist Teil des Java Collections Frameworks. Sie können eine Liste bei Bedarf in set und umgekehrt konvertieren.
In diesem Abschnitt sehen wir uns einige der Methoden an, mit denen eine Liste in eine Menge konvertiert wird.
# 1) Mit der traditionellen Methode
Sie können die Liste mit herkömmlichem Java-Code in Set konvertieren. In diesem können Sie ein HashSet oder ein TreeSet erstellen. Fügen Sie dann mit der Methode add jedes Listenelement in einer Schleife zur Menge hinzu.
Diese Implementierung wird unten gezeigt.
import java.util.*; class Main { public static void main(String() args) { // Creating a list of strings List strList = Arrays.asList('Java', 'Perl', 'Python', 'C++', 'C'); //print the list System.out.println('The list : ' + strList); //create a set Set hashSet = new HashSet(); //add list elements to hashset for (String ele : strList) hashSet.add(ele); //print the set System.out.println('HashSet from list:'); for (String val : hashSet) System.out.print(val + ' '); } }
Ausgabe:

Im obigen Programm sehen Sie, dass wir ein HashSet-Objekt vom Typ string erstellt haben. Anschließend wird mit der erweiterten for-Schleife jedes Element der Liste zum Satz hinzugefügt. Schließlich wird das Set gedruckt.
Empfohlene Lektüre = >> HashSet in Java
# 2) Verwenden von HashSet oder TreeSet Constructor
Die nächste Methode verwendet einen Mengenkonstruktor. Hier erstellen wir einen Mengenkonstruktor (treeSet oder HashSet). Eine Liste wird als Argument an diesen Konstruktor übergeben. Unter Verwendung dieser Liste wird das Set erstellt.
Überprüfen Sie das folgende Programm für diese Implementierung.
import java.util.*; class Main { public static void main(String() args) { // Create a list of strings List strList = Arrays.asList('Red', 'Green', 'Blue', 'Yellow', 'Cyan', 'Magenta'); System.out.println('Original List:' + strList); // Creating a hash set using constructor and pass list to the constructor Set hashSet = new HashSet(strList); System.out.println('
HashSet created from list:'); //print the hashSet for (String val : hashSet) System.out.print(val + ' '); //Create a treeset using constructor and pass list to the constructor Set treeSet = new TreeSet(strList); System.out.println('
TreeSet from list: '); //print the treeset for (String x : treeSet) System.out.print(x + ' '); } }
Ausgabe:

Im obigen Programm erstellen wir sowohl HashSet als auch treeSet, indem wir die Liste als Argument übergeben. Schließlich wird der Inhalt von HashSet und TreeSet angezeigt.
# 3) Verwenden der addAll-Methode
Dies ist dasselbe wie die zuvor gesehene addAll-Methode für Sammlungen. Hier wird die addAll-Methode verwendet, um den Listeninhalt in den Satz zu kopieren.
Das folgende Programm zeigt die Verwendung der addAll-Methode.
import java.util.*; class Main { public static void main(String() args) { // Creating a list of strings List intList = Arrays.asList(1,3,5,7,9,11,13); System.out.println('Original List: ' + intList); //create a hashset Set hashSet = new HashSet(); //add elements of list to hashSet using addAll method hashSet.addAll(intList); System.out.println('HashSet created from list: '); //print the hashSet for (Integer val : hashSet) System.out.print(val + ' '); } }
Ausgabe:

Dieses Programm erstellt ein HashSet-Objekt. Anschließend wird die addAll-Methode für das HashSet-Objekt mit der Liste als Parameter aufgerufen. Diese Methode kopiert den Listeninhalt in den Satz.
# 4) Verwenden von Java 8-Streams
Wie bereits erwähnt, können Sie die Liste auch mit Java 8-Streams in eine andere Sammlung einschließlich set konvertieren. Dazu müssen Sie die Methode stream (). Collect verwenden.
Das folgende Programm zeigt diese Implementierung.
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create a list of strings List colorsList = Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow'); System.out.println('Original List:' + colorsList); // Convert to set using stream and Collectors class toSet() method Set colorsSet = colorsList.stream().collect(Collectors.toSet()); System.out.println('The set from list:'); //print the set for (String x : colorsSet) System.out.print(x + ' '); }
Ausgabe:

Das obige Programm ähnelt dem bei der Konvertierung von der Liste in ein Array gezeigten. Zuerst wird die Liste in Stream konvertiert, und dann sammelt die Collect-Methode die Stream-Elemente und konvertiert sie in Set.
Nachdem wir verschiedene Methoden gesehen haben, die die Konvertierung von der Liste in die Gruppe durchführen, sehen wir uns die Methoden an, mit denen die Konvertierung in die Liste konvertiert wird.
Set in Liste konvertieren
Ähnlich wie Sie eine Liste in einen Satz konvertieren, können Sie auch einen Satz in eine Liste konvertieren. Sie können für diese Konvertierung dieselben oben beschriebenen Methoden verwenden. Der einzige Unterschied besteht darin, dass Sie die Stellen der Liste wechseln und im Programm festlegen.
Im Folgenden finden Sie Beispiele für die Konvertierung von Satz zu Liste für jede Methode.
# 1) Verwenden von einfachem Java
importjava.util.*; class Main { public static void main(String() args) { // Create a set(hashset) and initialize it Set hashSet = new HashSet(); hashSet.add('Red'); hashSet.add('Green'); hashSet.add('Blue'); hashSet.add('Cyan'); hashSet.add('Magenta'); hashSet.add('Yellow'); //print the set System.out.println('The set elements:'); for (String x : hashSet) System.out.print(x + ' '); //create a list (ArrayList) List strList = new ArrayList(hashSet.size()); //traverse the set and add its elements to the list for (String x : hashSet) strList.add(x); //print the list System.out.println('
Created ArrayList:' + strList); } }
Ausgabe:

Das obige Programm deklariert und initialisiert einen Satz. Anschließend wird eine Liste erstellt und jedes festgelegte Element zur Liste hinzugefügt. Schließlich wird die Liste gedruckt.
# 2) Konstruktoren verwenden
import java.util.*; class Main { public static void main(String() args) { // Create a set(hashset) of strings & initialize it Set hashSet = new HashSet(); hashSet.add('Delhi'); hashSet.add('Mumbai'); hashSet.add('Chennai'); hashSet.add('Kolkata'); //print the Set System.out.println('The set :'); for(String str: hashSet) System.out.print(str + ' '); //pass hashset to linkedlist constructor List l_List = new LinkedList(hashSet); //print the linked list System.out.println ('
LinkedList from set: ' + l_List); } }
Ausgabe:

Hier können Sie den Listenkonstruktor mit einem festgelegten Objekt als Argument verwenden. Dadurch werden alle festgelegten Elemente in das Listenobjekt kopiert.
# 3) Verwenden der addAll-Methode
import java.util.*; class Main { public static void main(String() args) { // Create a set(hashset) of strings & initialize it Set hashSet = new HashSet(); hashSet.add('Red'); hashSet.add('Green'); hashSet.add('Blue'); hashSet.add('Cyan'); hashSet.add('Magenta'); hashSet.add('Yellow'); //print the Set System.out.println('The set: '); for(String x:hashSet) System.out.print(x + ' '); //create a list(ArrayList) List colorList = new ArrayList(); //use addAll method to add elements from set colorList.addAll(hashSet); //print the list System.out.println('
The ArrayList from set: ' + colorList); } }
Ausgabe:

In diesem Programm wird ein Listenobjekt erstellt. Anschließend werden mit der Collections.addAll () -Methode die Elemente des Satzes zur Liste hinzugefügt.
# 4) Verwenden von Java 8 Stream
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create a set(hashset) of strings & initialize the set Set hashSet = new HashSet(); hashSet.add('Yellow'); hashSet.add('Magenta'); hashSet.add('Cyan'); hashSet.add('Red'); hashSet.add('Green'); hashSet.add('Blue'); //print the Set System.out.println('The set:'); for(String str : hashSet) System.out.print(str + ' '); //create a list and assign it elements of set through stream and Collectors class List strList = hashSet.stream().collect(Collectors.toList()); //print the list System.out.println('
List obtained from set: ' + strList); } }
Ausgabe:

Sie können auch Java 8-Streams und die Methode collect verwenden, um set in die Liste zu konvertieren, wie im obigen Programm gezeigt.
Array gegen Liste
Lassen Sie uns einige der Unterschiede zwischen einem Array und einer Liste diskutieren.
Array Liste Das Array ist eine grundlegende Datenstruktur in Java. Die Liste ist eine Schnittstelle, die Teil des Auflistungsframeworks in Java ist, von dem aus viele Klassen wie LinkedList, ArrayList usw. erweitert werden können. Hat feste Größe Die Listengröße ist dynamisch. Auf Array-Elemente kann mit () zugegriffen werden. Auf Listenmitglieder wird mit Methoden zugegriffen. Das Array kann sowohl primitive Typen als auch Objekte als Elemente haben. Listen können nur Objekte enthalten. Arrays können Operatoren mit ihren Elementen verwenden. Listen können keine Operatoren verwenden. Stattdessen werden Verwendungsmethoden aufgelistet. Arrays können nicht mit Generika arbeiten, um die Typensicherheit zu gewährleisten. Listen können generisch sein.
Häufig gestellte Fragen
F # 1) Wie konvertiert man eine Liste in ein Array in Java?
Antworten: Die grundlegende Methode zum Konvertieren einer Liste in ein Array in Java ist die Verwendung der Methode 'toArray ()' der Listenschnittstelle.
Der folgende einfache Aufruf konvertiert die Liste in ein Array.
Object() array = list.toArray();
Es gibt auch andere Methoden, wie oben erläutert, um die Liste in ein Array zu konvertieren.
F # 2) Ist ein Array eine Liste in Java?
Antworten: Nein. Ein Array ist eine Grundstruktur in Java mit einer festen Länge. Es erstreckt sich nicht von der Listenschnittstelle. Die Struktur, die sich von der Listenschnittstelle aus erstreckt und dem Array ähnelt, ist ArrayList.
F # 3) Wie konvertiert man ein Array in eine Liste in Java?
Antworten: Eine der grundlegenden Methoden zum Konvertieren eines Arrays in eine Liste in Java ist die Verwendung der asList () -Methode der Arrays-Klasse.
List aList = Arrays.asList (myarray);
Abgesehen davon gibt es weitere Methoden, die ein Array in eine Liste konvertieren, wie weiter oben in diesem Lernprogramm erläutert.
F # 4) Welches ist eine schnellere Menge oder Liste in Java?
Antworten: Dies hängt von den gespeicherten Daten ab. Wenn die Daten eindeutig sind, ist die Liste besser und schneller. Wenn Sie einen großen Datensatz haben, wählen Sie Sätze. Die eingestellte Struktur benötigt normalerweise zehnmal mehr Speicher als Listen.
F # 5) Was ist der Unterschied zwischen einer ArrayList und einem Set?
Antworten: Die Liste ist eine Sammlung geordneter Elemente, während die Menge eine Sammlung ungeordneter Elemente ist. Die Liste kann doppelte Elemente enthalten, die Menge kann jedoch keine doppelten Elemente enthalten.
Fazit
In diesem Tutorial haben wir verschiedene Listenkonvertierungen für das Array, den Satz und umgekehrt gesehen. Wir haben auch die Hauptunterschiede zwischen einem Array und einer Liste gesehen.
In diesem nächsten Tutorial werden wir die Listenklassen wie ArrayList, LinkedList usw. ausführlich diskutieren.
=> Lesen Sie hier den perfekten Java-Schulungsleitfaden.
Literatur-Empfehlungen
- Java Copy Array: Kopieren / Klonen eines Arrays in Java
- Java Array - Wie drucke ich Elemente eines Arrays in Java?
- Java-Liste - Erstellen, Initialisieren und Verwenden einer Liste in Java
- Array-Datentypen - int Array, Double Array, Array of Strings usw.
- Java-Array - Deklarieren, Erstellen und Initialisieren eines Arrays in Java
- Übergeben / Zurückgeben eines Arrays in Java
- JAVA-Tutorial für Anfänger: Über 100 praktische Java-Video-Tutorials
- Java Array Length Tutorial mit Codebeispielen