java arraylist conversions other collections
Denne opplæringen diskuterer ArrayList-konverteringer til andre samlinger som Set, LinkedList, Lists, etc. sammen med forskjeller mellom disse samlingene:
Så langt har vi sett nesten alle konseptene knyttet til ArrayList i Java. Bortsett fra å lage og manipulere ArrayList ved hjelp av ulike operasjoner eller metoder som tilbys av ArrayList-klassen, er det noen ganger også nødvendig å konvertere ArrayList til en eller flere samlinger.
=> Besøk her for å lære Java fra bunnen av.
I denne veiledningen vil vi diskutere noen av konverteringene fra ArrayList til andre samlinger som inkluderer List, LinkedList, Vector, Set osv. Vi vil også vurdere konvertering mellom ArrayList og String. Etter konverteringer vil vi også diskutere forskjellene mellom ArrayLists og andre samlinger - Arrays, List, Vector, LinkedList, etc.
Hva du vil lære:
- ArrayList til strengkonvertering
- String To ArrayList Conversion
- Konverter liste til ArrayList i Java
- Konverter ArrayList til å sette i Java
- Konverter sett til ArrayList i Java
- En matrise av ArrayList i Java
- ArrayList Of Arrays In Java
- Liste mot ArrayList i Java
- Vector mot ArrayList
- ArrayList vs LinkedList
- ofte stilte spørsmål
- Konklusjon
- Anbefalt lesing
ArrayList til strengkonvertering
Følgende metoder kan brukes til å konvertere ArrayList til String.
# 1) Bruke et StringBuilder-objekt
import java.util.ArrayList; public class Main { public static void main(String args()) { //Create and initialize the ArrayList ArrayList strList = new ArrayList(); strList.add('Software'); strList.add('Testing'); strList.add('Help'); //print the ArrayList System.out.println('The ArrayList: ' + strList); //define a stringbuilder object StringBuffer sb = new StringBuffer(); //append each ArrayList element to the stringbuilder object for (String str : strList) { sb.append(str + ' '); } //convert stringbuilder to string and print it. String myStr = sb.toString(); System.out.println('
String from ArrayList: ' + myStr); } }
Produksjon:
ArrayList: (Programvare, testing, hjelp)
String from ArrayList: Software Testing Help
I programmet ovenfor opprettes et StringBuilder-objekt. Ved hjelp av forEach-sløyfen blir hvert element i ArrayList lagt til StringBuilder-objektet. Deretter konverteres StringBuilder-objektet til en streng. Merk at bruk av StringBuilder ‘append’ -metoden; Du kan også legge til passende skilletegn i strengen.
I eksemplet ovenfor har vi brukt space (““) som skilletegn.
# 2) Bruk String.join () -metoden
Metoden String.join () kan brukes til å konvertere ArrayList til String. Her kan du også overføre passende avgrenser til sammenføyningsmetoden.
Programmet nedenfor viser dette.
import java.util.ArrayList; public class Main { public static void main(String() args) { // create and initialize the ArrayList ArrayList metroList = new ArrayList(); metroList.add('Delhi'); metroList.add('Mumbai'); metroList.add('Chennai'); metroList.add('Kolkata'); //print the ArrayList System.out.println('The ArrayList: ' + metroList); // Join with an empty delimiter to concat all strings. String resultStr = String.join(' ', metroList); System.out.println('
String converted from ArrayList: '+resultStr); } }
Produksjon:
ArrayList: (Delhi, Mumbai, Chennai, Kolkata)
Streng konvertert fra ArrayList: Delhi Mumbai Chennai Kolkata
Du kan se at vi sender ArrayList direkte som et argument til String.join () -metoden sammen med avgrenseren.
For enkle String ArrayLists er String.join () den beste metoden for å konvertere til String. Men for mer komplekse ArrayLists-objekter er bruk av StringBuilder mer effektivt.
String To ArrayList Conversion
For å konvertere en streng til ArrayList, er det to trinn:
hvordan du åpner en .dat fil i Windows
- Strengen deles ved hjelp av split () -funksjonen, og substringene (delt på passende skilletegn) lagres i en strengmatrise.
- Strengmatrisen som oppnås ved å dele strengen blir deretter konvertert til ArrayList ved hjelp av ‘asList ()’ -metoden i Arrays-klassen.
Programmet for å konvertere streng til ArrayList er gitt nedenfor.
import java.util.ArrayList; import java.util.List; import java.util.Arrays; public class Main { public static void main(String args()){ //define a string String myStr = 'The string to ArrayList program'; //convert string to array using split function on spaces String strArray() = myStr.split(' '); //print the string System.out.println('The input string : ' + myStr); //declare an ArrayList List strList = new ArrayList(); //convert string array to ArrayList using asList method strList = Arrays.asList(strArray); //print the resultant ArrayList System.out.println('
The ArrayList from String:' + strList ); } }
Produksjon:
Inngangsstrengen: Strengen til ArrayList-programmet
The ArrayList from String: (The, string, to, ArrayList, program)
I programmet ovenfor deler vi strengen i mellomrom og samler den i en strengoppstilling. Denne matrisen blir deretter konvertert til en ArrayList of strings.
Konverter liste til ArrayList i Java
ArrayList implementerer List-grensesnittet. Hvis du vil konvertere en liste til implementeringen som ArrayList, kan du gjøre det ved å bruke addAll-metoden i List-grensesnittet.
Programmet nedenfor viser konvertering av listen til ArrayList ved å legge til alle listeelementene i ArrayList.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String a()){ //create a list & initiliaze it List collections_List = new ArrayList(); collections_List.add('ArrayList'); collections_List.add('Vector'); collections_List.add('LinkedList'); collections_List.add('Stack'); collections_List.add('Set'); collections_List.add('Map'); //print the list System.out.println('List contents: '+collections_List); //create an ArrayList ArrayList myList = new ArrayList(); //use addAll() method to add list elements to ArrayList myList.addAll(collections_List); //print the ArrayList System.out.println('
ArrayList after adding elements: '+myList); } }
Produksjon:
Listeinnhold: (ArrayList, Vector, LinkedList, Stack, Set, Map)
ArrayList etter å ha lagt til elementer: (ArrayList, Vector, LinkedList, Stack, Set, Map)
Konverter ArrayList til å sette i Java
Følgende metoder konverterer en ArrayList til et sett.
# 1) Ved hjelp av en tradisjonell iterativ tilnærming
Dette er den tradisjonelle tilnærmingen. Her går vi gjennom listen og legger til hvert element i ArrayList i settet.
I programmet nedenfor har vi en ArrayList av streng. Vi erklærer et HashSet-streng. Deretter bruker vi forEach-sløyfen over ArrayList og legger til hvert element i HashSet.
På lignende måte kan vi også konvertere ArrayList til et treeSet.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a HashSet Set hSet = new HashSet(); //Add each ArrayList element to the set for (String x : colorsList) hSet.add(x); //Print the HashSet System.out.println('
HashSet obtained from ArrayList: ' + hSet); } }
Produksjon:
ArrayList: (Rød, grønn, blå, cyan, magenta, gul)
HashSet hentet fra ArrayList: (Rød, Cyan, Blå, Gul, Magenta, Grønn)
# 2) Bruke Set Constructor
Den neste metoden for å konvertere en ArrayList til et sett er å bruke konstruktøren. I denne metoden sender vi ArrayList som et argument til settkonstruktøren og initialiserer dermed settobjektet med ArrayList-elementer.
Programmet nedenfor viser bruken av ArrayList til å lage et angitt objekt.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a TreeSet Set tSet = new TreeSet(colorsList); //Print the TreeSet System.out.println('
TreeSet obtained from ArrayList: ' + tSet); } }
Produksjon:
ArrayList: (Rød, grønn, blå, cyan, magenta, gul
TreeSet hentet fra ArrayList: (Blå, Cyan, Grønn, Magenta, Rød, Gul)
# 3) Bruke addAll-metoden
Du kan også bruke metoden addAll for å legge til alle elementene i ArrayList til settet.
Følgende program bruker addAll-metoden for å legge til elementene i ArrayList til HashSet.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a HashSet Set hSet = new HashSet(); //use addAll method of HashSet to add elements of ArrayList hSet.addAll(colorsList); //Print the HashSet System.out.println('
HashSet obtained from ArrayList: ' + hSet); } }
Produksjon:
ArrayList: (Rød, grønn, blå, cyan, magenta, gul)
HashSet hentet fra ArrayList: (Rød, Cyan, Blå, Gul, Magenta, Grønn)
# 4) Bruke Java 8 Stream
Streams er de nye tilleggene til Java 8. Denne stream-klassen gir en metode for å konvertere ArrayList til stream og deretter sette.
Java-programmet nedenfor viser bruken av stream class-metoden for å konvertere ArrayList til sett.
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); // Convert ArrayList to set using stream Set set = colorsList.stream().collect(Collectors.toSet()); //Print the Set System.out.println('
Set obtained from ArrayList: ' + set); } }
Produksjon:
ArrayList: (Rød, grønn, blå, cyan, magenta, gul)
Sett hentet fra ArrayList: (Rød, Cyan, Blå, Gul, Magenta, Grønn)
Konverter sett til ArrayList i Java
I den siste delen har vi sett konverteringen av ArrayList til Set. Konverteringen fra Set til ArrayList bruker også de samme metodene som beskrevet ovenfor, med den forskjellen at posisjonen til settet og ArrayList endres.
Nedenfor er programmeringseksempler for å konvertere Set til ArrayList. Den andre beskrivelsen for hver metode forblir den samme.
# 1) Iterativ tilnærming
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList ArrayList numList = new ArrayList(set.size()); //add each set element to the ArrayList using add method for (String str : set) numList.add(str); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Produksjon:
Det gitte settet: (One, Two, Three)
ArrayList hentet fra Set: (One, Two, Three)
I det ovennevnte programmet gjentas vi gjennom settet, og hvert settelement blir lagt til i ArrayList.
# 2) Bruke Constructor
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList and pass set to the constructor List numList = new ArrayList(set); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Produksjon:
Det gitte settet: (One, Two, Three)
ArrayList hentet fra Set: (One, Two, Three)
Ovennevnte program oppretter et sett og en ArrayList. ArrayList-objektet opprettes ved å angi et angitt objekt som et argument i konstruktøren.
# 3) Bruke addAll-metoden
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList List numList = new ArrayList(); //use addAll method of ArrayList to add elements of set numList.addAll(set); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Produksjon:
Det gitte settet: (One, Two, Three)
ArrayList hentet fra Set: (One, Two, Three)
Her bruker vi addAll-metoden til ArrayList for å legge til elementene fra settet til ArrayList.
# 4) Bruke Java 8 Stream
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList and using stream method,assign stream of elements to ArrayList List numList = set.stream().collect(Collectors.toList()); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Produksjon:
Det gitte settet: (One, Two, Three)
ArrayList hentet fra Set: (One, Two, Three)
Ovennevnte program bruker strømklasse for å konvertere Set til ArrayList.
En matrise av ArrayList i Java
En Array of ArrayList som navnet antyder består av ArrayLists som dens elementer. Selv om funksjonen ikke brukes regelmessig, brukes den når effektiv bruk av minneplass er et krav.
Følgende program implementerer en Array of ArrayLists i Java.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String() args) { //define and initialize a num_list List num_list = new ArrayList(); num_list.add('One'); num_list.add('Two'); num_list.add('Two'); //define and initialize a colors_list List colors_list = new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); //define Array of ArrayList with two elements List() arrayOfArrayList = new List(2); //add num_list as first element arrayOfArrayList(0) = num_list; //add colors_list as second element arrayOfArrayList(1) = colors_list; //print the contents of Array of ArrayList System.out.println('Contents of Array of ArrayList:'); for (int i = 0; i Produksjon:
Innholdet i Array of ArrayList:
(En, to, to)
(Rød, grønn, blå)

I programmet ovenfor definerer vi først to lister. Så erklærer vi en Array of two ArrayList. Hvert element i denne matrisen er ArrayList definert tidligere. Til slutt vises innholdet i en Array of ArrayList ved hjelp av en for loop.
ArrayList Of Arrays In Java
Akkurat som vi har en ArrayLists, kan vi også ha ArrayList of Arrays. Her er hvert enkelt element i en ArrayList en Array.
Programmet nedenfor viser ArrayList of Arrays.
import java.util.*; public class Main { public static void main(String() args) { // declare ArrayList of String arrays ArrayList ArrayList_Of_Arrays = new ArrayList(); //define individual string arrays String() colors = { 'Red', 'Green', 'Blue' }; String() cities = { 'Pune', 'Mumbai', 'Delhi'}; //add each array as element to ArrayList ArrayList_Of_Arrays.add(colors); ArrayList_Of_Arrays.add(cities); // print ArrayList of Arrays System.out.println('Contents of ArrayList of Arrays:'); for (String() strArr : ArrayList_Of_Arrays) { System.out.println(Arrays.toString(strArr)); } } }
Produksjon:
Innhold i ArrayList of Arrays:
(Rød, grønn, blå)
(Pune, Mumbai, Delhi)

Ovennevnte program demonstrerer ArrayList of Arrays. I utgangspunktet erklærer vi en ArrayList of String Arrays. Dette betyr at hvert element i ArrayList vil være et strengarray. Deretter definerer vi to strengarrays. Deretter blir hver av arrangementene lagt til i ArrayList. Til slutt skriver vi ut innholdet i ArrayList of Arrays.
For å skrive ut innholdet, krysser vi ArrayList ved hjelp av for loop. For hver iterasjon skriver vi ut innholdet i ArrayList-elementet som har en Array ved hjelp av Arrays.toString () -metoden.
Liste mot ArrayList i Java
Følgende tabeller viser noen av forskjellene mellom en liste og ArrayList.
Liste ArrayList Listen er et grensesnitt i Java ArrayList er en del av Java Collection-rammeverket Listen er implementert som et grensesnitt ArrayList er implementert som en samlingsklasse Utvider samlegrensesnittet implementerer Listegrensesnitt og utvider AbstractList En del av System.Collection.generic namespace En del av navneområdet for System.Collections Ved hjelp av Liste kan det opprettes en liste over elementer som kan nås ved hjelp av indekser. Ved hjelp av ArrayList kan vi lage en dynamisk matrise av elementer eller objekter hvis størrelse automatisk endres med endringene i innholdet.
Vector mot ArrayList
Nedenfor er noen av forskjellene mellom en Vector og en ArrayList.
ArrayList LinkedList ArrayList implementerer grensesnitt for listen LinkedList implementerer grensesnitt for liste og Deque. Datalagring og tilgang er effektiv i ArrayList. LinkedList er flink til å manipulere data. ArrayList implementerer internt en dynamisk matrise. LinkedList implementerer internt en dobbeltkoblet liste. Siden ArrayList internt implementerer dynamisk matrise, er tilsetning / sletting av elementer treg, da mye bitskifting er nødvendig. LinkedList er raskere når det gjelder tilsetning / fjerning av elementer siden det ikke er nødvendig med litt forskyvning. Mindre minneomkostninger, siden bare faktiske data i ArrayList er lagret. Mer minneoverhead siden hver node i LinkedList inneholder data samt adressen til neste node.
ArrayList vs LinkedList
La oss nå diskutere de forskjellige forskjellene mellom en ArrayList og en LinkedList.
ArrayList LinkedList ArrayList implementerer grensesnitt for listen LinkedList implementerer grensesnitt for liste og Deque. Datalagring og tilgang er effektiv i ArrayList. LinkedList er flink til å manipulere data. ArrayList implementerer internt en dynamisk matrise. LinkedList implementerer internt en dobbeltkoblet liste. Siden ArrayList internt implementerer dynamisk matrise, er tilsetning / sletting av elementer treg, da mye bitskifting er nødvendig. LinkedList er raskere når det gjelder tilsetning / fjerning av elementer siden det ikke er nødvendig med litt forskyvning. Mindre minneomkostninger, siden bare faktiske data i ArrayList er lagret. Mer minneoverhead siden hver node i LinkedList inneholder data samt adressen til neste node.
ofte stilte spørsmål
Sp # 1) Hvordan konverterer du en ArrayList til en Array i Java?
Svar: For å konvertere en ArrayList til en Array i Java, kan man bruke toArray () -metoden fra ArrayList API som konverterer en gitt ArrayList til en Array.
Q # 2) Hvordan deler du en streng og lagrer den i en ArrayList i Java?
Svar: Strengen deles ved hjelp av en split () -funksjon. Denne metoden returnerer en rekke strenger. Deretter kan du bruke Arrays.asList () -metoden til å konvertere strengmatrisen til en ArrayList av strenger.
Q # 3) Hva er standardstørrelsen på en ArrayList?
Svar: Et ArrayList-objekt opprettet uten å spesifisere kapasiteten har størrelse 0, da det ikke er lagt til noen elementer i listen. Men standardkapasiteten til denne ArrayList er 10.
Q # 4) Hva er forskjellen mellom lengden () og størrelsen () på ArrayList?
Svar: En ArrayList har ikke en length () -egenskap eller metode. Den gir bare størrelsesmetoden () som returnerer det totale antallet elementer i ArrayList.
Sp # 5) Hva er forskjellen mellom kapasiteten og størrelsen på ArrayList?
Svar: ArrayList har både kapasitet og størrelse. Kapasitet er den totale størrelsen på ArrayList eller det totale antallet elementer den kan inneholde. Størrelse er antall elementer eller steder som har data i seg.
For eksempel, Hvis ArrayList-kapasiteten er 10 og størrelsen er 5, betyr dette at en ArrayList kan inneholde opptil 10 elementer, men for øyeblikket har bare 5 steder data i seg.
Konklusjon
I denne opplæringen diskuterte vi noen av de ekstra konseptene relatert til ArrayList som å konvertere ArrayList til en streng, liste, sett og omvendt. Vi diskuterte også forskjellene mellom ArrayList og Vector, ArrayList og LinkedList, etc.
I vår kommende opplæring vil vi ta opp en ny samling og lære den grundig.
=> Sjekk her for å se AZ av Java-opplæringsveiledninger her.
Anbefalt lesing
- Java String with String Buffer and String Builder Tutorial
- Java ArrayList - Hvordan erklære, initialisere og skrive ut en ArrayList
- Java Reflection Tutorial med eksempler
- Java String Tutorial | Java strengmetoder med eksempler
- Java-tråder med metoder og livssyklus
- Java-distribusjon: Opprettelse og utføring av Java JAR-fil
- Java Basics: Java Syntax, Java Class og Core Java Concepts
- Java Virtual Machine: Hvordan JVM hjelper med å kjøre Java-applikasjoner