logo

Differenza tra Array e ArrayList

A Giava, vettore E Lista di array sono le strutture dati ben note. Un array è una funzionalità di base fornita da Java, mentre Lista di array è una classe del framework Java Collections. Appartiene a java.util pacchetto.

Matrice Java

UN vettore è un oggetto creato dinamicamente. Serve come un contenitore che contiene il numero costante di valori dello stesso tipo. Ha una posizione di memoria contigua. Una volta creato un array, non possiamo modificarne le dimensioni. Possiamo creare un array utilizzando la seguente istruzione:

 int array[]=new int[size]; 

L'istruzione precedente crea un array della dimensione specificata. Quando proviamo ad aggiungere più della sua dimensione, lancia Indice della Matrice Fuori Dai Limiti d'Eccezione . Per esempio:

 int arr[]=new int[3]; //specified size of array is 3 //adding 4 elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; 

Classe ArrayList Java

A Giava, Lista di array è una classe di framework Collezioni. Implementa Elenco, raccolta, iterabile, clonabile, serializzabile , E Accesso casuale interfacce. Si estende AbstractList classe.

Possiamo creare un'istanza di ArrayList utilizzando la seguente istruzione:

 ArrayList arrayList=new ArrayList(); 

ArrayList è supportato internamente dall'array in Java. L'operazione di ridimensionamento in ArrayList rallenta le prestazioni poiché coinvolge un nuovo array e la copia del contenuto da un vecchio array a un nuovo array. Chiama il metodo implementato nativo System.arraycopy(sec, srcPos, dest, destPos, lunghezza) .

Non possiamo memorizzare il tipo primitivo in ArrayList. Quindi, memorizza solo oggetti. Converte automaticamente il tipo primitivo in oggetto. Ad esempio, abbiamo creato un oggetto ArrayList,

 ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList 

La JVM lo converte in oggetto Integer tramite auto-boxing.

 ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object 

Analogie

  • Array e ArrayList vengono entrambi utilizzati per memorizzare elementi.
  • Array e ArrayList possono entrambi memorizzare valori null.
  • Possono avere valori duplicati.
  • Non preservano l'ordine degli elementi.

La tabella seguente descrive le principali differenze tra array e ArrayList:

Base Vettore Lista di array
Definizione UN vettore è un oggetto creato dinamicamente. Serve come un contenitore che contiene il numero costante di valori dello stesso tipo. Ha una posizione di memoria contigua. IL Lista di array è una classe di Java Collezioni struttura. Contiene classi popolari come Vettore, tabella hash , E HashMap .
Statico/Dinamico La matrice è statico in misura. ArrayList è dinamico in misura.
Ridimensionabile Un array è a lunghezza fissa struttura dati. ArrayList è un file lunghezza variabile struttura dati. Può essere ridimensionato quando necessario.
Inizializzazione È obbligatorio fornire la dimensione di un array durante l'inizializzazione diretta o indiretta. Possiamo creare un'istanza di ArrayList senza specificarne la dimensione. Java crea ArrayList di dimensione predefinita.
Prestazione Si esibisce veloce rispetto ad ArrayList a causa della dimensione fissa. ArrayList è supportato internamente dall'array in Java. L'operazione di ridimensionamento in ArrayList rallenta le prestazioni.
Tipo primitivo/generico Un array può memorizzarli entrambi oggetti E primitivi tipo. Non possiamo immagazzinare primitivo digitare ArrayList. Converte automaticamente il tipo primitivo in oggetto.
Iterazione dei valori Noi usiamo per ciclo o per ciascuno loop per scorrere un array. Usiamo un iteratore per scorrere su ArrayList.
Sicurezza del tipo Non possiamo utilizzare i generici insieme all'array perché non è un tipo di array convertibile. ArrayList ci consente di archiviare solo generico/ type, ecco perché è indipendente dai tipi.
Lunghezza L'array fornisce a lunghezza variabile che denota la lunghezza di un array. ArrayList fornisce il file misurare() metodo per determinare la dimensione di ArrayList.
Aggiunta di elementi Possiamo aggiungere elementi in un array usando il comando Incarico operatore. Java fornisce il aggiungere() metodo per aggiungere elementi nell'ArrayList.
Mono/multidimensionale L'array può essere multidimensionale . ArrayList è sempre monodimensionale .

Esempio di array in Java

Nell'esempio seguente abbiamo semplicemente creato un array di lunghezza quattro.

 public class ArrayExample { public static void main(String args[]) { //creating an array of integer type int arr[]=new int[4]; //adding elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; for(int i=0;i <arr.length;i++) { system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 12 2 15 67 </pre> <h2>Example of ArrayList in Java</h2> <p>In the following example, we have created an instance of ArrayList and performing iteration over the ArrayList.</p> <pre> import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 12.4 34.6 56.8 78.9 </pre> <hr></arr.length;i++)>

Esempio di ArrayList in Java

Nell'esempio seguente, abbiamo creato un'istanza di ArrayList ed eseguito l'iterazione su ArrayList.

 import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } 

Produzione:

java int in carattere
 12.4 34.6 56.8 78.9