L'elenco e gli array sono due modi per archiviare i dati in Java che utilizzerai abbastanza spesso. Nei progetti in cui è necessario archiviare i dati senza alcun tipo di gestione dei file, elenchi e array consentono di archiviare i dati durante l'esecuzione del programma. Useremo Class ArrayList che implementa l'interfaccia List in Java in modo intercambiabile durante questo tutorial.
Differenza tra lista e matrice
Elenco
Vettore
La dimensione di un elenco può essere modificata
La dimensione di un array non può essere modificata
Non è possibile archiviare tipi primitivi in List
È possibile archiviare i tipi primitivi in Array
Puoi usare Generics con List
Non puoi usare Generics con Array
Consuma più memoria
Consuma meno memoria
Conversione da lista a matrice con funzione di libreria
List ha un metodo toArray() che converte direttamente il contenuto di qualsiasi elenco in un array mantenendo la posizione del testo nell'array com'era nell'elenco originale. Ecco l'algoritmo/i passaggi per convertire un elenco in un array in java utilizzando questa funzione di libreria integrata.
Inizializza un ArrayList.
Aggiungi elementi all'elenco tramite il metodo list.add(data_type) .
Crea un array con le stesse dimensioni dell'elenco.
Converti l'elenco in un array utilizzando il nome della variabile dell'array creato nel passaggio 3 come argomento.
Stampa il contenuto dell'array.
Il codice che implementa questi passaggi è riportato di seguito.
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
//Converting List to Array With Library Function
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting List to Array
sampleList.toArray(arr);
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
Conversione da lista a matrice senza funzione di libreria
A volte, potrebbe essere necessario convertire l'elenco in un array senza utilizzare le funzioni integrate. Il problema in questione può utilizzare alcune restrizioni in termini di funzioni di libreria. Questo requisito è comune per gli studenti di programmazione che sono incoraggiati a lavorare senza funzioni di libreria per aiutarli ad apprendere il funzionamento interno di queste funzioni prima di implementarle. In tali casi, è possibile utilizzare i seguenti passaggi per convertire un elenco in un array in java senza alcuna funzione di libreria.
Inizializza un ArrayList.
Aggiungi elementi all'elenco tramite il metodo list.add(data_type) .
Crea un array con le stesse dimensioni dell'elenco.
Crea un ciclo for che ripeterà ogni elemento di ArrayList e lo passerà a Array[index] tramite la funzione list.get(index) .
Stampa il contenuto dell'array per mostrare che stai effettivamente convertendo l'elenco in un array.
Di seguito è riportato il codice per l'implementazione di questi passaggi.
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
//Converting List to Array Without Library Functions
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting to Array
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
Allo stesso modo, se ti stai chiedendo anche come convertire un array in un elenco, puoi farlo utilizzando il metodo integrato Array.asList() o iterando l'array e memorizzando i valori in ogni indice nell'elenco.
GO TO FULL VERSION