logo

Java Array til liste

I Java, Array og Liste er de to vigtigste datastrukturer. I dette afsnit vil vi lære hvordan man konverterer Java Array til en liste. Vi har også skabt Java programmer der konverterer Array til en liste ved at bruge forskellige Java-metoder.

Konvertering af Array til List i Java

Java array er en samling af flere værdier af samme datatype. Et array kan indeholde objekter og primitive typer. Det afhænger af definitionen af ​​arrayet. Hvis en arraydefinition er af primitiv type, lagrer arrayets værdier i den smitsomme hukommelsesplacering. Hvis et array indeholder objektelementer, er elementer gemt i heap-segmentet.

I Java , a Liste er en grænseflade, der hører til Java Collections frameworket. Det gemmer elementer i form af objekter på en ordnet måde og bevarer indsættelsesrækkefølgen. Det giver os mulighed for at gemme duplikerede værdier. Klasserne ArrayList , LinkedList , Vektor og Stak implementerer List-grænsefladen.

Java Array til liste

Java giver fem metoder til at konvertere Array til en liste er som følger:

  • Native metode
  • Brug af Arrays.asList()-metoden
  • Brug af Collections.addAll()-metoden
  • Brug af Java 8 Stream API
  • Brug af Guava Lists.newArrayList()-metoden

Native metode

Det er den enkleste metode til at konvertere Java Array til en liste. I denne metode opretter vi først en tom liste og tilføjer alle elementerne i arrayet til listen. Lad os se et eksempel.

ArrayToListExample1.java

eksekver script shell
 import java.util.*; public class ArrayToListExample1 { public static void main(String args[]) { //creating an array String array[] = { 'Golf', 'Soccer', 'Baseball', 'Volleyball', 'Tennis', 'Badminton', 'Rugby', 'Archery', 'Skiing'}; //prints the array before conversion System.out.println('Array before conversion: '+ Arrays.toString(array)); //calling the generic function that converts Array into List List list = ArrayToListConversion(array); //print the List System.out.println('Array as List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T array[]) { //creating the constructor of the List class List list = new ArrayList(); //using for-each loop to iterate over the array for (T t : array) { //adding each element to the List list.add(t); } //returns the list converted into Array return list; } } 

Produktion:

Java Array til liste

Brug af Arrays.asList()-metoden

Det er metoden i Java Arrays-klassen, der hører til java.util-pakken. Når vi bruger metoden asList() med metoden Collection.toArray(), fungerer den som en bro mellem array-baserede og samlingsbaserede API'er.

Syntaks:

 public static List asList(T... a) 

Metoden analyserer et array som en parameter, som listen vil blive understøttet af. Det returnerer en serialiserbar listevisning i fast størrelse af det angivne array. Lad os se et eksempel.

ArrayToListExample2.java

er lig med streng i java
 import java.util.*; public class ArrayToListExample2 { public static void main(String args[]) { //creating an array to be converted String arr[] = { 'Aston Martin', 'Bugatti', 'Bentley', 'Alfa Romeo', 'Buick', 'Acura', 'Audi', 'BMW', 'Buick' }; //prints array before conversion System.out.println('Array before conversion: '+ Arrays.toString(arr)); //calling generic method that converts Array into List List list = ArrayToListConversion(arr); //prints the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //invoking the asList() method and passing the array to be converted List list = Arrays.asList(arr); //returns the list return list; } } 

Produktion:

Java Array til liste

Brug af Collections.addAll()-metoden

Det er metoden til Java samlinger klasse. det tilhører java.util-pakken. Klassen giver en metode med navn addAll() . Vi kan bruge metoden til at konvertere Array til en liste. Det tilføjer alle elementer til den angivne samling. Vi kan specificere elementer enten individuelt eller i form af et array. Det fungerer på samme måde som c.addAll(Arrays.asList(elements)). Det er en hurtigere implementering end en anden implementering.

Syntaks:

 public static boolean addAll(Collection c, T... elements) 

Den analyserer to parametre:

    c:Det er en samling, hvori elementer skal tilføjes.elementer: Elementerne skal indsættes i c.

Det vender tilbage rigtigt hvis opkrævningen ændrede sig som følge af opkaldet. Det giver følgende undtagelser:

  • Hvis parameteren c ikke understøtter tilføjelsesoperationen, kaster den Ikke understøttet OperationException .
  • Hvis de angivne array-elementer indeholder en eller flere null-værdier, og c ikke tillader null-elementer, kaster den NullPointerException .
  • Hvis et array-element forhindrer det i at blive tilføjet til parameteren c, kaster det IllegalPointerException .

Lad os se et eksempel.

ArrayToListExample3.java

 import java.util.*; public class ArrayToListExample3 { public static void main(String args[]) { //creating an Array to be converted String arr[] = { 'San Jose', 'Dallas', 'Chicago','San Antonio', 'Los Angeles', 'Portland', 'Tucson' }; //prints the Array System.out.println('Array before conversion: '+ Arrays.toString(arr)); //method calling List list = ArrayToListConversion(arr); //print the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creating the constructor of thr List class List list = new ArrayList(); //the method adds Array to the List Collections.addAll(list, arr); //returns the list return list; } } 

Produktion:

bfs og dfs
Java Array til liste

Brug af Java 8 Stream API

Java 8 giver Stream API at behandle samlingerne af objekter. Det er en sekvens af metoder, der kan pipelineres for at producere det ønskede resultat. Husk, at det ikke ændrer den oprindelige datastruktur. Det giver output baseret på de pipelinede metoder. Vi kan opnå Stream på en række måder, men i det følgende program har vi brugt Arrays.stream(Object[]) for at nå strømmen.

Collectors.toList() Metode: Metoden returnerer en Collector, der samler input-elementerne til en nyoprettet liste i en encounter-metode.

Syntaks:

 public static Collector<t,?,list> toList() </t,?,list>

Hvor T er den type element, vi har specificeret. Metoden giver ikke garantier for type, mutabilitet, trådsikkerhed og serialiserbarhed.

Lad os bruge Stream API i et Java-program og konvertere et array til en liste.

ArrayToListExample4.java

 import java.util.*; import java.util.stream.Collectors; public class ArrayToListExample4 { //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a list from the specified Array and returns the List return Arrays.stream(arr).collect(Collectors.toList()); } public static void main(String args[]) { //creating an array to be converted into List String arr[] = { &apos;Python&apos;, &apos;HTM&apos;, &apos;Java&apos;, &apos;C&apos;, &apos;C++&apos;, &apos;JavaScript&apos;, &apos;Ruby&apos;, &apos;Swift&apos;, &apos;PHP&apos; }; //prints the Array before conversion System.out.println(&apos;Array: &apos;+ Arrays.toString(arr)); //calling the method created above and storing the elements into the List object List list = ArrayToListConversion(arr); //prints the List System.out.println(&apos;List: &apos; + list); } } 

Produktion:

Java Array til liste

Brug af Guava Lists.newArrayList()

Det er metoden til Lister klasse, der hører til com.google.common.collect pakke. Klassen giver en metode newArrayList() der opretter foranderlig tom ArrayList-instans med elementerne i det angivne array.

formater java-streng

Syntaks:

 public static ArrayList newArrayList(E... elements) 

Bemærk: metoden newArrayList() er tilgængelig for Java 6 og tidligere versioner. I senere versioner er det forældet. I stedet for ovenstående metode bruger vi ArrayList-konstruktøren direkte.

ArrayToListExample5.java

 import static com.google.common.collect.Lists.*; import java.util.*; public class ArrayToListExample5 { public static void main(String args[]) { //creating an Array to be converted into a List String arr[] = { &apos;Mango&apos;, &apos;Banana&apos;, &apos;Grapes&apos;, &apos;Apple&apos;, &apos;Plum&apos;, &apos;Blackberry&apos;, &apos;Papaya&apos;, &apos;Orange&apos; }; //prints the Array before conversion System.out.println(&apos;Array: &apos;+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println(&apos;List: &apos; + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a List from the specified Array return Lists.newArrayList(arr); } } 

Produktion:

Java Array til liste