logo

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.

descărcare sts

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

diferența dintre dragoste și placere
 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

linkedlist 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ă