logo

Razlika med Array in ArrayList

V Javi, niz in ArrayList so dobro znane podatkovne strukture. Niz je osnovna funkcionalnost, ki jo ponuja Java, medtem ko ArrayList je razred ogrodja zbirk Java. Pripada java.util paket.

Java Array

An niz je dinamično ustvarjen objekt. Služi kot vsebnik, ki vsebuje stalno število vrednosti istega tipa. Ima stalno pomnilniško lokacijo. Ko je matrika ustvarjena, njene velikosti ne moremo spremeniti. Matriko lahko ustvarimo z naslednjim stavkom:

 int array[]=new int[size]; 

Zgornji stavek ustvari matriko podane velikosti. Ko poskušamo dodati več od njegove velikosti, vrže ArrayIndexOutOfBoundsException . Na primer:

 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; 

Razred Java ArrayList

V Javi, ArrayList je razred ogrodja zbirk. Izvaja Seznam, zbirka, možnost ponavljanja, možnost kloniranja, možnost serializacije , in RandomAccess vmesniki. Razširja se AbstractList razred.

Primerek ArrayList lahko ustvarimo z naslednjim stavkom:

 ArrayList arrayList=new ArrayList(); 

ArrayList je interno podprt z matriko v Javi. Operacija spreminjanja velikosti v ArrayList upočasni delovanje, saj vključuje novo matriko in kopiranje vsebine iz stare matrike v novo matriko. Pokliče izvorno implementirano metodo System.arraycopy(sec, srcPos, dest, destPos, length) .

Primitivnega tipa ne moremo shraniti v ArrayList. Torej shranjuje samo predmete. Samodejno pretvori primitivni tip v objekt. Na primer, ustvarili smo objekt ArrayList,

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

JVM ga pretvori v objekt Integer s pomočjo samodejnega pakiranja.

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

Podobnosti

  • Array in ArrayList se uporabljata za shranjevanje elementov.
  • Tako Array kot ArrayList lahko shranita ničelne vrednosti.
  • Lahko imajo podvojene vrednosti.
  • Ne ohranjajo vrstnega reda elementov.

Naslednja tabela opisuje ključne razlike med array in ArrayList:

Osnova Array ArrayList
Opredelitev An niz je dinamično ustvarjen objekt. Služi kot vsebnik, ki vsebuje stalno število vrednosti istega tipa. Ima stalno pomnilniško lokacijo. The ArrayList je razred Jave Zbirke ogrodje. Vsebuje priljubljene razrede, kot je Vektor, HashTable , in HashMap .
Statično/dinamično Niz je statična v velikosti. ArrayList je dinamično v velikosti.
Spremenljiva velikost Niz je a fiksne dolžine struktura podatkov. ArrayList je a spremenljive dolžine struktura podatkov. Po potrebi se lahko sama spremeni v velikost.
Inicializacija Med neposredno ali posredno inicializacijo matrike je obvezno zagotoviti velikost. Ustvarimo lahko primerek ArrayList, ne da bi določili njegovo velikost. Java ustvari ArrayList privzete velikosti.
Izvedba Izvaja hitro v primerjavi z ArrayList zaradi fiksne velikosti. ArrayList je interno podprt z matriko v Javi. Operacija spreminjanja velikosti v ArrayList upočasni delovanje.
Primitivni/generični tip Matrika lahko shrani oboje predmetov in primitivci vrsta. Ne moremo shraniti primitiven vnesite ArrayList. Samodejno pretvori primitivni tip v objekt.
Ponavljajoče se vrednosti Uporabljamo za zanko oz za vsakogar zanko za ponavljanje po matriki. Uporabljamo an iterator za ponavljanje ArrayList.
Tipska varnost Skupaj z matriko ne moremo uporabljati generičnih, ker to ni konvertibilna vrsta matrike. ArrayList nam omogoča samo shranjevanje generično/ tipa, zato je tipsko varen.
Dolžina Array zagotavlja a dolžina spremenljivka, ki označuje dolžino matrike. ArrayList zagotavlja velikost () metoda za določanje velikosti seznama ArrayList.
Dodajanje elementov Elemente v matriko lahko dodamo z uporabo dodelitev operater. Java ponuja dodaj() metoda za dodajanje elementov v ArrayList.
Eno/večdimenzionalno Niz je lahko večdimenzionalen . ArrayList je vedno enodimenzionalni .

Primer Array v Javi

V naslednjem primeru smo preprosto ustvarili niz dolžine štiri.

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

Primer ArrayList v Javi

V naslednjem primeru smo ustvarili primerek ArrayList in izvedli iteracijo nad 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); } } } 

Izhod:

notranje delovanje hashmapa
 12.4 34.6 56.8 78.9