logo

Java-array naar lijst

Op Java, Array En Lijst zijn de twee belangrijkste datastructuren. In dit gedeelte zullen we leren hoe Java Array naar een lijst te converteren. Wij hebben ook gecreƫerd Java-programma's die Array in een lijst omzetten door verschillende Java-methoden te gebruiken.

java-arraylijst gesorteerd

Array naar lijst converteren in Java

Java-array is een verzameling van meerdere waarden van hetzelfde gegevenstype. Een array kan objecten en primitieve typen bevatten. Het hangt af van de definitie van de array. Als een arraydefinitie van het primitieve type is, worden de waarden van de array opgeslagen op de besmettelijke geheugenlocatie. Als een array objectelementen bevat, zijn dit elementen die zijn opgeslagen in het heap-segment.

In Java , A Lijst is een interface die behoort tot het Java Collections-framework. Het slaat elementen op een geordende manier op in de vorm van objecten en behoudt de invoegvolgorde. Hiermee kunnen we dubbele waarden opslaan. De klassen ArrayLijst , GelinkteLijst , Vector En Stapel implementeert de Lijst-interface.

Java-array naar lijst

Java biedt vijf methoden om Array naar een lijst te converteren:

  • Native methode
  • Met behulp van de Arrays.asList()-methode
  • Met behulp van de Collections.addAll()-methode
  • Java 8 Stream-API gebruiken
  • Guava Lists.newArrayList()-methode gebruiken

Native methode

Het is de eenvoudigste methode om Java Array naar een lijst te converteren. Bij deze methode maken we eerst een lege lijst en voegen we alle elementen van de array toe aan de lijst. Laten we een voorbeeld bekijken.

ArrayToListExample1.java

 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; } } 

Uitgang:

Java-array naar lijst

Met behulp van de Arrays.asList()-methode

Het is de methode van de klasse Java Arrays die bij het pakket java.util hoort. Wanneer we de methode asList() gebruiken met de methode Collection.toArray(), werkt deze als een brug tussen op arrays gebaseerde en op verzamelingen gebaseerde API's.

Syntaxis:

 public static List asList(T... a) 

De methode parseert een array als een parameter waarmee de lijst wordt ondersteund. Het retourneert een serialiseerbare lijstweergave met een vaste grootte van de opgegeven array. Laten we een voorbeeld bekijken.

ArrayToListExample2.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; } } 

Uitgang:

Java-array naar lijst

Met behulp van de Collections.addAll()-methode

Het is de werkwijze van de Java-collecties klas. het behoort tot het java.util-pakket. De klasse biedt een methode met de naam Voeg alles toe() . We kunnen de methode gebruiken om Array naar een lijst te converteren. Het voegt alle elementen toe aan de opgegeven verzameling. We kunnen elementen afzonderlijk of in de vorm van een array specificeren. Het werkt hetzelfde als c.addAll(Arrays.asList(elementen)). Het is een snellere implementatie dan een andere implementatie.

Syntaxis:

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

Het parseert twee parameters:

    C:Het is een verzameling waaraan elementen moeten worden toegevoegd.elementen: De elementen moeten in c worden ingevoegd.

Het keert terug WAAR als de collectie is gewijzigd als gevolg van de oproep. Het genereert de volgende uitzonderingen:

  • Als de parameter c de optelbewerking niet ondersteunt, wordt er gegenereerd Niet-ondersteundeOperationException .
  • Als de opgegeven array-elementen een of meer null-waarden bevatten en c geen null-elementen toestaat, wordt er gegooid NullPointerException .
  • Als een array-element verhindert dat het wordt toegevoegd aan de parameter c, wordt dit gegenereerd IllegalePointerException .

Laten we een voorbeeld bekijken.

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; } } 

Uitgang:

Java-array naar lijst

Java 8 Stream-API gebruiken

Java 8 biedt de Stream API om de collecties objecten te verwerken. Het is een reeks methoden die kunnen worden gepijplijnd om het gewenste resultaat te bereiken. Houd er rekening mee dat dit de oorspronkelijke gegevensstructuur niet verandert. Het levert de uitvoer op basis van de pijplijnmethoden. We kunnen Stream op een aantal manieren bereiken, maar in het volgende programma hebben we gebruik gemaakt van Arrays.stream(Object[]) om de stroom te bereiken.

Collectors.toList() Methode: De methode retourneert een Collector die de invoerelementen verzamelt in een nieuw gemaakte lijst in een ontmoetingsmethode.

Syntaxis:

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

Waarbij T het type element is dat we hebben gespecificeerd. De methode biedt geen garanties op het gebied van type, veranderlijkheid, draadveiligheid en serialiseerbaarheid.

Laten we de Stream API in een Java-programma gebruiken en een array naar een lijst converteren.

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); } } 

Uitgang:

Java-array naar lijst

Guava-lijsten gebruiken.newArrayList()

Het is de werkwijze van de Lijsten klasse waartoe behoort com.google.common.collect pakket. De klasse biedt een methode nieuweArrayList() waarmee een veranderlijke lege ArrayList-instantie wordt gemaakt met de elementen van de opgegeven array.

Syntaxis:

 public static ArrayList newArrayList(E... elements) 

Opmerking: De methode newArrayList() is beschikbaar voor Java 6 en eerdere versies. In latere versies is het verouderd. In plaats van de bovenstaande methode gebruiken we de ArrayList-constructor rechtstreeks.

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); } } 

Uitgang:

Java-array naar lijst