Matrice Java pentru listă

Matrice Java pentru listă

În Java, Matrice și Listă sunt cele mai importante două structuri de date. În această secțiune, vom învăța cum se transformă Java Array într-o listă. Am creat și noi programe Java care convertesc Array într-o Listă prin utilizarea diferitelor metode Java.

Convertirea matricei în listă în Java

matrice Java este o colecție de valori multiple ale aceluiași tip de date. O matrice poate conține obiecte și tipuri primitive. Depinde de definiția matricei. Dacă o definiție de matrice este de tip primitiv, valorile matricei sunt stocate în locația de memorie contagioasă. Dacă o matrice conține elemente obiecte, elemente stocate în segmentul heap.

În Java , A Listă este o interfață care aparține cadrului Java Collections. Stochează elementele sub formă de obiecte într-o manieră ordonată și păstrează ordinea de inserare. Ne permite să stocăm valori duplicate. Clasele ArrayList , LinkedList , Vector și Grămadă implementează interfața Listă.

Java Array de listat

Java oferă cinci metode pentru a converti Array într-o Listă, după cum urmează:

  • Metoda nativă
  • Folosind metoda Arrays.asList().
  • Folosind metoda Collections.addAll().
  • Folosind Java 8 Stream API
  • Folosind metoda Guava Lists.newArrayList().

Metoda nativă

Este cea mai simplă metodă de a converti Java Array într-o Listă. În această metodă, mai întâi, creăm o Listă goală și adăugăm toate elementele matricei în Listă. Să vedem un exemplu.

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

Ieșire:

Matrice Java pentru listă

Folosind metoda Arrays.asList().

Este metoda clasei Java Arrays care aparține pachetului java.util. Când folosim metoda asList() cu metoda Collection.toArray(), aceasta funcționează ca o punte între API-urile bazate pe matrice și cele bazate pe colecții.

Sintaxă:

 public static List asList(T... a)  

Metoda parsează o matrice ca un parametru prin care lista va fi susținută. Returnează o listă serializată de dimensiune fixă ​​a matricei specificate. Să vedem un exemplu.

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

Ieșire:

Java Array de listat

Folosind metoda Collections.addAll().

Este metoda de Colecții Java clasă. aparține pachetului java.util. Clasa oferă o metodă numită adaugă totul() . Putem folosi metoda pentru a converti Array într-o Listă. Adaugă toate elementele la colecția specificată. Putem specifica elemente fie individual, fie sub forma unui tablou. Funcționează la fel ca c.addAll(Matrice.asList(elemente)). Este o implementare mai rapidă decât o altă implementare.

Sintaxă:

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

Analizează doi parametri:

    c: Este o colecție în care trebuie adăugate elemente. elemente : Elementele trebuie introduse în c.

Se întoarce Adevărat dacă colectarea s-a schimbat în urma apelului. Aruncă următoarele excepții:

  • Dacă parametrul c nu acceptă operația de adăugare, se aruncă UnsupportedOperationException .
  • Dacă elementele de matrice specificate conțin una sau mai multe valori nule și c nu permite elemente nule, se aruncă NullPointerException .
  • Dacă orice element de matrice îl împiedică să fie adăugat la parametrul c, îl aruncă IllegalPointerException .

Să vedem un exemplu.

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

Ieșire:

Java Array de listat

Folosind Java 8 Stream API

Java 8 oferă API-ul Stream pentru a procesa colecţiile de obiecte. Este o succesiune de metode care pot fi canalizate pentru a produce rezultatul dorit. Rețineți că nu modifică structura originală a datelor. Oferă rezultatul bazat pe metodele pipeline. Putem obține Stream în mai multe moduri, dar în programul următor am folosit Arrays.stream(Obiect[]) pentru a atinge pârâul.

Metoda Collectors.toList(): Metoda returnează un colector care colectează elementele de intrare într-o listă nou creată într-o metodă de întâlnire.

Sintaxă:

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

Unde T este tipul de element pe care l-am specificat. Metoda nu oferă garanții privind tipul, mutabilitatea, siguranța firelor și serializabilitatea.

Să folosim API-ul Stream într-un program Java și să convertim o matrice într-o listă.

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

Ieșire:

Java Array de listat

Utilizarea Guava Lists.newArrayList()

Este metoda de Liste clasa căreia îi aparțin com.google.common.collect pachet. Clasa oferă o metodă newArrayList() care creează instanță ArrayList goală mutabilă având elementele matricei specificate.

Sintaxă:

 public static ArrayList newArrayList(E... elements)  

Notă: Metoda newArrayList() este disponibilă pentru Java 6 și versiunile anterioare. În versiunile ulterioare este depreciat. În loc de metoda de mai sus, folosim direct constructorul ArrayList.

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

Ieșire:

Matrice Java pentru listă