logo

Razlika između Array i ArrayList

U Javi, niz i ArrayList su dobro poznate strukture podataka. Niz je osnovna funkcija koju nudi Java, dok ArrayList je klasa Java Collections okvira. Pripada java.util paket.

Java polje

An niz je dinamički kreiran objekt. Služi kao spremnik koji sadrži konstantan broj vrijednosti istog tipa. Ima kontinuiranu memorijsku lokaciju. Nakon što je niz kreiran, ne možemo promijeniti njegovu veličinu. Možemo stvoriti niz pomoću sljedeće izjave:

 int array[]=new int[size]; 

Gornja izjava stvara polje navedene veličine. Kad pokušamo dodati više od njegove veličine, baca se ArrayIndexOutOfBoundsException . Na primjer:

 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; 

Java klasa ArrayList

U Javi, ArrayList je klasa okvira zbirki. Provodi Popis, zbirka, iterabilnost, kloniranje, serijalizacija , i Nasumični pristup sučelja. Proteže se Popis sažetaka razreda.

Instancu ArrayList-a možemo stvoriti pomoću sljedeće izjave:

 ArrayList arrayList=new ArrayList(); 

ArrayList je interno podržan nizom u Javi. Operacija promjene veličine u ArrayList usporava performanse jer uključuje novi niz i kopiranje sadržaja iz starog niza u novi niz. Poziva nativnu implementiranu metodu System.arraycopy(sec, srcPos, dest, destPos, length) .

Ne možemo pohraniti primitivni tip u ArrayList. Dakle, pohranjuje samo objekte. Automatski pretvara primitivni tip u objekt. Na primjer, stvorili smo objekt ArrayList,

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

JVM ga pretvara u Integer objekt kroz auto-boxing.

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

Sličnosti

  • Array i ArrayList se koriste za pohranu elemenata.
  • Array i ArrayList mogu pohraniti nulte vrijednosti.
  • Mogu imati duplicirane vrijednosti.
  • Ne čuvaju redoslijed elemenata.

Sljedeća tablica opisuje ključne razlike između niza i ArrayList:

Osnova Niz ArrayList
Definicija An niz je dinamički kreiran objekt. Služi kao spremnik koji sadrži konstantan broj vrijednosti istog tipa. Ima kontinuiranu memorijsku lokaciju. The ArrayList je klasa Jave Zbirke okvir. Sadrži popularne klase poput Vektor, HashTable , i HashMap .
Statičko/dinamično Niz je statički u veličini. ArrayList je dinamičan u veličini.
Mogućnost promjene veličine Niz je a fiksne duljine struktura podataka. ArrayList je a promjenjive duljine struktura podataka. Može se sam mijenjati po potrebi.
Inicijalizacija Obavezno je navesti veličinu niza tijekom njegove izravne ili neizravne inicijalizacije. Možemo stvoriti primjerak ArrayList-a bez navođenja njegove veličine. Java stvara ArrayList zadane veličine.
Izvođenje Izvodi brzo u usporedbi s ArrayList zbog fiksne veličine. ArrayList je interno podržan nizom u Javi. Operacija promjene veličine u ArrayList usporava performanse.
Primitivni/generički tip Niz može pohraniti oboje objekti i primitivci tip. Ne možemo skladištiti primitivna upišite ArrayList. Automatski pretvara primitivni tip u objekt.
Ponavljanje vrijednosti Koristimo za petlja ili za svakoga petlja za ponavljanje niza. Koristimo se iterator za ponavljanje preko ArrayList.
Tipska sigurnost Ne možemo koristiti generike zajedno s nizom jer to nije konvertibilna vrsta niza. ArrayList nam omogućuje samo pohranu generički/ tipa, zato je siguran za tip.
Duljina Niz pruža a duljina varijabla koja označava duljinu niza. ArrayList pruža veličina() metoda za određivanje veličine ArrayList.
Dodavanje elemenata Elemente u nizu možemo dodavati pomoću zadatak operater. Java pruža dodati() metoda za dodavanje elemenata u ArrayList.
Jedno/višedimenzionalno Niz može biti višedimenzionalan . ArrayList je uvijek jednodimenzionalni .

Primjer polja u Javi

U sljedećem primjeru jednostavno smo stvorili niz duljine četiri.

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

Primjer ArrayList-a u Javi

U sljedećem primjeru stvorili smo instancu ArrayList i izveli iteraciju 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); } } } 

Izlaz:

faktorijel u Javi
 12.4 34.6 56.8 78.9