logo

Diferència entre Array i ArrayList

A Java, matriu i ArrayList són les conegudes estructures de dades. Una matriu és una funcionalitat bàsica proporcionada per Java, mentre que ArrayList és una classe de framework de col·leccions Java. Pertany a java.util paquet.

Matriu Java

An matriu és un objecte creat dinàmicament. Serveix com a contenidor que conté el nombre constant de valors del mateix tipus. Té una ubicació de memòria contigua. Un cop creada una matriu, no podem canviar-ne la mida. Podem crear una matriu utilitzant la següent instrucció:

 int array[]=new int[size]; 

La declaració anterior crea una matriu de la mida especificada. Quan intentem afegir més de la seva mida, tira ArrayIndexOutOfBoundsException . Per exemple:

 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 Java ArrayList

A Java, ArrayList és una classe de marc de col·leccions. S'implementa Llista, Col·lecció, Iterable, Clonable, Serialitzable , i Accés aleatori interfícies. S'estén Llista abstracta classe.

Podem crear una instància de ArrayList utilitzant la instrucció següent:

 ArrayList arrayList=new ArrayList(); 

ArrayList està recolzat internament per la matriu a Java. L'operació de canvi de mida a ArrayList alenteix el rendiment, ja que implica una matriu nova i la còpia de contingut d'una matriu antiga a una matriu nova. Anomena el mètode implementat natiu System.arraycopy (sec, srcPos, dest, destPos, longitud) .

No podem emmagatzemar el tipus primitiu a ArrayList. Per tant, només emmagatzema objectes. Converteix automàticament el tipus primitiu en objecte. Per exemple, hem creat un objecte ArrayList,

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

La JVM el converteix en objecte Sencer mitjançant l'auto-boxing.

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

Similituds

  • Array i ArrayList s'utilitzen per emmagatzemar elements.
  • Array i ArrayList poden emmagatzemar valors nuls.
  • Poden tenir valors duplicats.
  • No conserven l'ordre dels elements.

La taula següent descriu les diferències clau entre array i ArrayList:

Base Matriu ArrayList
Definició An matriu és un objecte creat dinàmicament. Serveix com a contenidor que conté el nombre constant de valors del mateix tipus. Té una ubicació de memòria contigua. El ArrayList és una classe de Java Col·leccions marc. Conté classes populars com Vector, HashTable , i HashMap .
Estàtica/Dinàmica Array és estàtica en grandària. ArrayList és dinàmic en grandària.
Redimensionable Una matriu és a de longitud fixa estructura de dades. ArrayList és un de longitud variable estructura de dades. Es pot redimensionar per si mateix quan sigui necessari.
Inicialització És obligatori proporcionar la mida d'una matriu mentre l'inicieu directament o indirectament. Podem crear una instància de ArrayList sense especificar la seva mida. Java crea ArrayList de mida predeterminada.
Rendiment Realitza ràpid en comparació amb ArrayList a causa de la mida fixa. ArrayList està recolzat internament per la matriu a Java. L'operació de canvi de mida a ArrayList alenteix el rendiment.
Tipus primitiu/genèric Una matriu pot emmagatzemar tots dos objectes i primitives tipus. No podem emmagatzemar primitiva escriviu a ArrayList. Converteix automàticament el tipus primitiu en objecte.
Valors iteratius Fem servir per bucle o per cadascú bucle per iterar sobre una matriu. Fem servir un iterador per iterar sobre ArrayList.
Tipus de seguretat No podem utilitzar genèrics juntament amb array perquè no és un tipus de matriu convertible. ArrayList només ens permet emmagatzemar genèric/ tipus, per això és segur.
Llargada Array proporciona a llargada variable que denota la longitud d'una matriu. ArrayList proporciona el mida () mètode per determinar la mida de ArrayList.
Afegir Elements Podem afegir elements en una matriu utilitzant el encàrrec operador. Java proporciona el afegir() mètode per afegir elements a la ArrayList.
Única/Multidimensional Array pot ser multidimensional . ArrayList és sempre unidimensional .

Exemple de Array en Java

En l'exemple següent, simplement hem creat una matriu de longitud quatre.

 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++)>

Exemple de ArrayList a Java

A l'exemple següent, hem creat una instància de ArrayList i hem realitzat una iteració sobre 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); } } } 

Sortida:

bloquejar anuncis a youtube Android
 12.4 34.6 56.8 78.9