A Giava, Vettore E Elenco sono le due strutture dati più importanti. In questa sezione impareremo come convertire l'array Java in un elenco. Abbiamo anche creato Programmi Java che convertono l'array in una lista utilizzando diversi metodi Java.
Conversione di array in elenco in Java
matrice Java è una raccolta di più valori dello stesso tipo di dati. Un array può contenere oggetti e tipi primitivi. Dipende dalla definizione dell'array. Se una definizione di array è di tipo primitivo, i valori dell'array vengono archiviati nella posizione di memoria contagiosa. Se un array contiene elementi oggetti, elementi memorizzati nel segmento heap.
In Giava , UN Elenco è un'interfaccia che appartiene al framework Java Collections. Memorizza gli elementi sotto forma di oggetti in modo ordinato e preserva l'ordine di inserimento. Ci consente di memorizzare valori duplicati. Le classi Lista di array , Lista collegata , Vettore E Pila implementa l'interfaccia Elenco.
Java fornisce cinque metodi per convertire un array in un elenco:
- Metodo nativo
- Utilizzo del metodo Arrays.asList()
- Utilizzo del metodo Collections.addAll()
- Utilizzo dell'API Java 8 Stream
- Utilizzo del metodo Guava Lists.newArrayList()
Metodo nativo
È il metodo più semplice per convertire l'array Java in un elenco. In questo metodo innanzitutto creiamo una lista vuota e aggiungiamo tutti gli elementi dell'array alla lista. Vediamo un esempio.
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; } }
Produzione:
coda di priorità Java
Utilizzo del metodo Arrays.asList()
È il metodo della classe Java Arrays che appartiene al pacchetto java.util. Quando utilizziamo il metodo asList() con il metodo Collection.toArray(), funziona come un ponte tra le API basate su array e basate su raccolta.
Sintassi:
public static List asList(T... a)
Il metodo analizza un array come parametro in base al quale verrà supportato l'elenco. Restituisce una visualizzazione elenco serializzabile di dimensione fissa dell'array specificato. Vediamo un esempio.
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; } }
Produzione:
Utilizzo del metodo Collections.addAll()
È il metodo del Collezioni Java classe. appartiene al pacchetto java.util. La classe fornisce un metodo denominato Aggiungi tutto() . Possiamo usare il metodo per convertire Array in un List. Aggiunge tutti gli elementi alla raccolta specificata. Possiamo specificare gli elementi individualmente o sotto forma di array. Funziona allo stesso modo di c.addAll(Arrays.asList(elementi)). È un'implementazione più veloce di un'altra implementazione.
Sintassi:
come ordinare un arraylist in Java
public static boolean addAll(Collection c, T... elements)
Analizza due parametri:
Ritorna VERO se la collezione è cambiata a seguito della chiamata. Genera le seguenti eccezioni:
- Se il parametro c non supporta l'operazione di aggiunta, genera un'eccezione Eccezione operazione non supportata .
- Se gli elementi dell'array specificati contengono uno o più valori null e c non consente elementi null, genera un'eccezione NullPointerException .
- Se qualsiasi elemento dell'array impedisce che venga aggiunto al parametro c, genera un'eccezione IllegalPointerException .
Vediamo un esempio.
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; } }
Produzione:
aggiornamento da join sql
Utilizzo dell'API Java 8 Stream
Java 8 fornisce l'API Stream per elaborare le raccolte di oggetti. Si tratta di una sequenza di metodi che possono essere messi in pipeline per produrre il risultato desiderato. Ricorda che non cambia la struttura dei dati originale. Fornisce l'output in base ai metodi pipeline. Possiamo ottenere Stream in diversi modi, ma nel programma seguente abbiamo utilizzato Array.stream(Oggetto[]) per raggiungere il flusso.
Metodo Collectors.toList(): Il metodo restituisce un Collector che raccoglie gli elementi di input in un List appena creato in un metodo di incontro.
Sintassi:
public static Collector<t,?,list> toList() </t,?,list>
Dove T è il tipo di elemento che abbiamo specificato. Il metodo non fornisce garanzie su tipo, mutabilità, sicurezza del thread e serializzabilità.
scanner scansiona java
Usiamo l'API Stream in un programma Java e convertiamo un array in un 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[] = { 'Python', 'HTM', 'Java', 'C', 'C++', 'JavaScript', 'Ruby', 'Swift', 'PHP' }; //prints the Array before conversion System.out.println('Array: '+ 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('List: ' + list); } }
Produzione:
Utilizzo di Guava Lists.newArrayList()
È il metodo del Elenchi classe a cui appartengono com.google.common.collect pacchetto. La classe fornisce un metodo nuovaArrayList() che crea un'istanza ArrayList vuota e mutabile con gli elementi dell'array specificato.
Sintassi:
public static ArrayList newArrayList(E... elements)
Nota: il metodo newArrayList() è disponibile per Java 6 e versioni precedenti. Nelle versioni successive è deprecato. Invece del metodo precedente, utilizziamo direttamente il costruttore 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[] = { 'Mango', 'Banana', 'Grapes', 'Apple', 'Plum', 'Blackberry', 'Papaya', 'Orange' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + 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); } }
Produzione: