logo

Java Array till lista

I Java, Array och Lista är de två viktigaste datastrukturerna. I det här avsnittet kommer vi att lära oss hur man konverterar Java Array till en lista. Vi har också skapat Java-program som konverterar Array till en lista genom att använda olika Java-metoder.

Konvertera Array till List i Java

Java array är en samling av flera värden av samma datatyp. En array kan innehålla objekt och primitiva typer. Det beror på definitionen av arrayen. Om en arraydefinition är av primitiv typ, lagras värdena för arrayen i den smittsamma minnesplatsen. Om en array innehåller objektelement, element lagrade i heapsegmentet.

I Java , a Lista är ett gränssnitt som tillhör Java Collections-ramverket. Den lagrar element i form av objekt på ett ordnat sätt och bevarar insättningsordningen. Det tillåter oss att lagra dubbletter av värden. Klasserna ArrayList , Länkad lista , Vektor och Stack implementerar List-gränssnittet.

Java Array till lista

Java tillhandahåller fem metoder för att konvertera Array till en lista är följande:

  • Infödd metod
  • Använda Arrays.asList()-metoden
  • Använder metoden Collections.addAll()
  • Använder Java 8 Stream API
  • Använder Guava Lists.newArrayList()-metoden

Infödd metod

Det är den enklaste metoden att konvertera Java Array till en lista. I den här metoden skapar vi först en tom lista och lägger till alla element i arrayen i listan. Låt oss se ett exempel.

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

Produktion:

Java Array till lista

Använda Arrays.asList()-metoden

Det är metoden för Java Arrays-klassen som tillhör paketet java.util. När vi använder metoden asList() med metoden Collection.toArray() fungerar den som en brygga mellan arraybaserade och samlingsbaserade API:er.

Syntax:

 public static List asList(T... a) 

Metoden analyserar en array som en parameter med vilken listan kommer att backas upp. Den returnerar en serialiserbar listvy med fast storlek för den angivna arrayen. Låt oss se ett exempel.

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

Produktion:

Java Array till lista

Använder metoden Collections.addAll()

Det är metoden för Java-samlingar klass. det tillhör java.util-paketet. Klassen tillhandahåller en metod som heter Lägg till alla() . Vi kan använda metoden för att konvertera Array till en lista. Den lägger till alla element i den angivna samlingen. Vi kan specificera element antingen individuellt eller i form av en array. Det fungerar på samma sätt som c.addAll(Arrays.asList(elements)). Det är en snabbare implementering än en annan implementering.

Syntax:

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

Den analyserar två parametrar:

    c:Det är en samling där element ska läggas till.element: Elementen ska infogas i c.

Den återkommer Sann om samlingen ändrats till följd av samtalet. Det ger följande undantag:

  • Om parametern c inte stöder add-operationen, kastar den UnsupportedOperationException .
  • Om de angivna arrayelementen innehåller ett eller flera nollvärden och c inte tillåter nullelement, kastar det NullPointerException .
  • Om något arrayelement hindrar det från att läggas till parametern c kastar det IllegalPointerException .

Låt oss se ett exempel.

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:

Java Array till lista

Använder Java 8 Stream API

Java 8 tillhandahåller Stream API att bearbeta samlingarna av föremål. Det är en sekvens av metoder som kan pipelineras för att ge önskat resultat. Kom ihåg att det inte ändrar den ursprungliga datastrukturen. Den tillhandahåller utdata baserat på de pipelinerade metoderna. Vi kan uppnå Stream på ett antal sätt men i följande program har vi använt Arrays.stream(Object[]) för att nå strömmen.

Collectors.toList() Metod: Metoden returnerar en Collector som samlar in inmatningselementen till en nyskapad lista i en mötesmetod.

försök fånga i java

Syntax:

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

Där T är den typ av element som vi har specificerat. Metoden ger inga garantier för typ, mutabilitet, trådsäkerhet och serialiserbarhet.

Låt oss använda Stream API i ett Java-program och konvertera en array till en lista.

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 till lista

Använda Guava Lists.newArrayList()

Det är metoden för Listor klass som tillhör com.google.common.collect paket. Klassen tillhandahåller en metod newArrayList() som skapar föränderlig tom ArrayList-instans med elementen i den angivna arrayen.

Syntax:

 public static ArrayList newArrayList(E... elements) 

Obs: Metoden newArrayList() är tillgänglig för Java 6 och tidigare versioner. I senare versioner är den utfasad. Istället för metoden ovan använder vi ArrayList-konstruktorn direkt.

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 till lista