covert list array
Denne opplæringen forklarer hvordan du konverterer Java-listen til matrise og andre samlinger. Det inkluderer eksempler for å konvertere liste til matrise, streng, sett og omvendt:
I våre tidligere veiledninger diskuterte vi detaljene i listesamlingen. Vi har sett de forskjellige operasjonene på listen, iteratorer osv. Gitt en liste, kan vi konvertere denne listen til andre samlinger eller datastrukturer som strenger, matriser, ArrayList, sett osv.
=> Besøk her for den eksklusive opplæringsserien for Java Training.
Hva du vil lære:
Listekonverteringer
Her, det vi faktisk gjør, er at vi overfører elementene fra en samling / struktur til en annen, og når vi gjør det, endrer vi faktisk utformingen av elementene ettersom hver samling eller datastruktur har sin egen layout.
I denne opplæringen vil vi diskutere noen få konverteringer fra listen til andre datastrukturer og omvendt.
Konverter liste til streng
Du kan enkelt konvertere listen over elementer til dens strengrepresentasjon. For det meste vil du konvertere en liste over strenger eller tegn til en strengrepresentasjon.
Det er forskjellige metoder for å konvertere listen til en streng. De mest populære er diskutert nedenfor.
# 1) Bruk av toString-metoden
Dette er den enkleste metoden for å konvertere listen til streng. I denne metoden bruker du ganske enkelt ‘toString’-metoden på en liste som konverterer listen til en strengrepresentasjon.
Programmet nedenfor viser implementeringen av toString-metoden.
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); } }
Produksjon:
I dette programmet kan du se at etter å ha konvertert tegnlisten til en strengrepresentasjon, blir strengen raffinert ytterligere ved å fjerne avgrensende tegn fra den og representere den som et enkelt ord.
# 2) Bruke Collectors Class
Fra Java 8 og utover kan du bruke stream-APIer med klassen ‘Collectors’ for å konvertere listen til en streng.
Eksempel:
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); } }
Produksjon:
I det ovennevnte programmet bruker vi strøm-API-er, kartlegger verdiene og bruker deretter () -metoden i Collectors-klasse, og konverterer listen til streng.
# 3) Bruke StringBuilder Class
Den tredje metoden for å konvertere listen til streng er å bruke et StringBuilder-objekt. Her legges hvert element i listen til StringBuilder-objektet ved hjelp av en sløyfe. Deretter konverteres StringBuilder-objektet til strengrepresentasjonen ved hjelp av toString-metoden.
Sjekk følgende program for demonstrasjon.
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); } }
Produksjon:
Ovennevnte program viser bruken av StringBuilder-objektet som elementene i listen er lagt til. Deretter konverteres objektet til en streng.
Konvertering av liste til en serie
Gitt en liste over elementer, må du konvertere denne listen til en matrise. For å gjøre dette kan du bruke hvilken som helst av metodene som er beskrevet nedenfor.
# 1) Bruker toArray
Den enkleste måten å konvertere en liste til en matrise er å bruke 'toArray' -metoden i listen.
Følgende program viser denne implementeringen av toArray-metoden.
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 + ' '); } }
Produksjon:
I det ovennevnte programmet har vi konvertert en liste over strenger til en strengmatrise ved hjelp av ‘toArray’-metoden.
# 2) Bruke Java 8 Stream
beste programvare for å lage spill for nybegynnere
Den neste metoden for å konvertere en liste til en matrise er å bruke stream-API-ene til Java 8. I dette konverteres listen først til stream og deretter ved hjelp av stream (). ToArray konverteres den til en array.
Følgende Java-program viser denne konverteringen.
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 + ' '); } }
Produksjon:
Ovennevnte program bruker strøm-APIer av Java 8 og konverterer listen til en matrise. Matrisen skrives deretter ut for hver sløyfe.
# 3) Bruke get-metoden
Dette er en annen metode for å konvertere listen til en matrise. I dette bruker vi get () av listen som kan brukes til å hente individuelle elementer i listen.
Programmet for å konvertere listen til en matrise ved hjelp av get () -metoden vises nedenfor.
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 Produksjon:

I programmet ovenfor opprettet vi en matrise av samme størrelse som en liste. Deretter hentes listeelementene i en løkke ved hjelp av get () -metoden og tilordnes matrisen.
Konverter Array To List
Når du kan konvertere en liste til en matrise, kan du også konvertere en matrise til en liste i Java. Nedenfor er noen av metodene som du kan konvertere en matrise til en liste.
# 1) Bruk av vanlig Java-kode
Dette er den tradisjonelle metoden for å konvertere en matrise til en liste. Her legger du til hvert arrayelement i listen en etter en ved hjelp av en loop. For denne legg til metode brukes listen.
Følgende program implementerer den tradisjonelle metoden for å konvertere array til en 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); } }
Produksjon:

# 2) Bruke asList () -metoden
Den neste metoden for å konvertere en matrise til en liste er ved å bruke metoden asList () i Arrays-klassen. Her kan du sende Array som et argument til asList () -metoden, og den returnerer listen som er oppnådd.
Det følgende programmet viser dette.
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); } }
Produksjon:

I programmet ovenfor har vi en rekke oddetall. Deretter oppretter vi en liste over heltall og tildeler den til utdataene fra asList-metoden som er en liste.
# 3) Bruk av Collection.addAll () -metoden
Du kan også bruke addAll () -metoden i samlingsklassen, da matrisen og listen begge er deler av samlingsrammeverket i Java.
Det følgende programmet viser bruken av metoden Collections.addAll () for å konvertere array til 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); } }
Produksjon:

Her har vi initialisert en matrise. Vi opprettet en tom liste. Deretter blir Collections.addAll () -metoden brukt ved å sende lister og matriser som et argument. Vellykket gjennomføring av denne metoden vil ha en liste fylt med matriseelementene.
# 4) Bruke Java 8 Streams
Den neste tilnærmingen for å konvertere array til liste er ved hjelp av Java 8 Stream API og Collectors-klassen. Her konverteres matrisen først til strøm, og deretter samles elementene inn i en liste ved hjelp av strøm. Samle metode. Listen returneres endelig.
Følgende program viser implementeringen som konverterer matrisen til liste ved hjelp av Stream API.
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); } }
Produksjon:

I programmet ovenfor opprettes en rekke farger. En tom liste opprettes deretter, og deretter tildeles listen hentet fra matrisen ved hjelp av stream API.
Konverter liste for å sette
Et sett er en uordnet samling av elementer som ikke tillater dupliserte verdier. Sett er en del av Java Collections-rammeverket. Du kan konvertere en liste til å sette og omvendt om nødvendig.
I denne delen la oss se noen av metodene som brukes til å konvertere en liste til et sett.
# 1) Bruke den tradisjonelle metoden
Du kan konvertere listen til å angi ved hjelp av tradisjonell java-kode. I dette kan du opprette en HashSet eller treeSet. Og bruk deretter add-metoden, legg til hvert listeelement i settet i en løkke.
Denne implementeringen er vist nedenfor.
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 + ' '); } }
Produksjon:

I programmet ovenfor kan du se at vi har opprettet et HashSet-objekt av typen streng. Deretter blir hvert element i listen lagt til i settet ved hjelp av utvidet for loop. Til slutt blir settet trykt.
Anbefalt lesing = >> HashSet i Java
# 2) Bruk av HashSet eller tresettkonstruktør
Den neste metoden er å bruke en settkonstruktør. Her lager vi en settkonstruktør (treeSet eller HashSet). En liste blir sendt til denne konstruktøren som et argument. Ved hjelp av denne listen er settet konstruert.
Sjekk programmet nedenfor for denne implementeringen.
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 + ' '); } }
Produksjon:

I det ovennevnte programmet oppretter vi både HashSet og treeSet ved å sende listen som argument. Til slutt vises innholdet i både HashSet og tresett.
# 3) Bruk av AddAll-metoden
Dette er det samme som addAll-metoden for samlinger vi så før. Her brukes addAll-metoden for å kopiere listeinnholdet til settet.
Det følgende programmet viser bruken av addAll-metoden.
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 + ' '); } }
Produksjon:

Dette programmet oppretter et HashSet-objekt. Deretter påkalles addAll-metoden på HashSet-objektet med listen som parameter. Denne metoden kopierer listeinnholdet til settet.
# 4) Bruke Java 8 Streams
Som allerede sett, kan du også bruke Java 8-strømmer til å konvertere listen til hvilken som helst annen samling inkludert sett. Du må bruke stream (). Collect-metoden for å gjøre dette.
Følgende program viser denne implementeringen.
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 + ' '); }
Produksjon:

Ovennevnte program ligner på det som vises i tilfelle konvertering fra listen til en matrise. Først konverteres listen til strøm, og deretter samler metoden samle strømelementene og konverterer for å sette.
Nå som vi har sett forskjellige metoder som utfører konverteringen fra listen til å sette, la oss se metodene som brukes til å konvertere settet til listen.
Konverter Sett til liste
I likhet med måten du konverterer liste til sett, kan du også konvertere sett til en liste. Du kan bruke de samme metodene som beskrevet ovenfor for denne konverteringen. Den eneste forskjellen er at du bytter plassering på listen og angir i programmet.
Nedenfor er eksempler på konvertering fra sett til liste for hver metode.
# 1) Bruke vanlig 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); } }
Produksjon:

Ovennevnte program erklærer og initialiserer et sett. Deretter oppretter den en liste og legger til hvert settelement i listen. Endelig skriver den ut listen.
# 2) Bruk av konstruktører
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); } }
Produksjon:

Her kan du bruke listekonstruktøren med et angitt objekt som argument. Dette kopierer alle settelementene til listeobjektet.
# 3) Bruk av AddAll-metoden
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); } }
Produksjon:

I dette programmet opprettes et listeobjekt. Deretter blir elementene i settet lagt til listen ved hjelp av metoden Collections.addAll ().
# 4) Bruke 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); } }
Produksjon:

Du kan også bruke Java 8-strømmer og samle-metoden for å konvertere sett til listen som vist i programmet ovenfor.
Array Vs List
La oss diskutere noen av forskjellene mellom en matrise og en liste.
Array Liste Matrisen er en grunnleggende datastruktur i Java. Listen er et grensesnitt som er en del av samlingsrammeverket i Java hvorfra mange av klassene kan utvides som LinkedList, ArrayList etc. Har fast størrelse Listestørrelse er dynamisk. Du kan få tilgang til matriseelementer ved hjelp av (). Listemedlemmer er tilgjengelige ved hjelp av metoder. Matrisen kan ha primitive typer så vel som objekter som dens elementer. Lister kan bare inneholde objekter. Arrays kan bruke operatører med elementene. Lister kan ikke bruke operatører. I stedet viser den bruksmetoder. Arrays kan ikke fungere med generiske stoffer for å sikre typesikkerhet. Lister kan være generiske.
ofte stilte spørsmål
Q # 1) Hvordan konverterer du en liste til en matrise i Java?
Svar: Den grunnleggende metoden for å konvertere en liste til en matrise i Java er å bruke ‘toArray ()’ metoden i List-grensesnittet.
Den enkle samtalen nedenfor konverterer listen til en matrise.
Object() array = list.toArray();
Det er også andre metoder som diskutert ovenfor for å konvertere listen til en matrise.
Q # 2) Er en matrise en liste i Java?
Svar: Nei. En matrise er en grunnleggende struktur i Java med en fast lengde. Den strekker seg ikke fra listegrensesnittet. Strukturen som strekker seg fra listegrensesnittet og ligner på array er ArrayList.
Q # 3) Hvordan konverterer du en matrise til en liste i Java?
Svar: En av de grunnleggende metodene for å konvertere en matrise til en liste i Java er å bruke metoden asList () i Arrays-klassen.
List aList = Arrays.asList (myarray);
Bortsett fra dette, er det flere metoder som konverterer en matrise til en liste som diskutert tidligere i denne opplæringen.
Q # 4) Hvilket er et raskere sett eller en liste i Java?
Svar: Det avhenger av dataene som lagres. Hvis dataene er unike, er listen bedre og raskere. Hvis du har et stort datasett, så gå for sett. Settstrukturen krever vanligvis 10 ganger mer minne enn lister.
Q # 5) Hva er forskjellen mellom en ArrayList og et sett?
Svar: Listen er en samling av bestilte elementer mens settet er en samling av uordnede elementer. Listen kan ha dupliserte elementer, men settet kan ikke ha dupliserte elementer.
Konklusjon
I denne opplæringen har vi sett forskjellige listekonverteringer til matrisen, sett og omvendt. Vi har også sett de store forskjellene mellom en matrise og en liste.
I denne neste opplæringen vil vi diskutere listeklassene som ArrayList, LinkedList, etc. i detalj.
=> Ta en titt på den perfekte Java-treningsguiden her.
Anbefalt lesing
- Java Copy Array: Hvordan kopiere / klone en array i Java
- Java Array - Hvordan skrive ut elementer av en array i Java?
- Java List - Hvordan lage, initialisere og bruke listen i Java
- Array Data Typer - int Array, Double array, Array of Strings Etc.
- Java Array - Erklære, opprette og initialisere en array i Java
- Hvordan bestå / returnere en matrise i Java
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger
- Java Array Length Tutorial med kodeeksempler