logo

Forskellen mellem Array og ArrayList

I Java, array og ArrayList er de velkendte datastrukturer. Et array er en grundlæggende funktionalitet leveret af Java, hvorimod ArrayList er en klasse af Java Collections framework. Det hører til java.util pakke.

Java Array

An array er et dynamisk skabt objekt. Den fungerer som en beholder, der indeholder det konstante antal værdier af samme type. Den har en sammenhængende hukommelsesplacering. Når først et array er oprettet, kan vi ikke ændre dets størrelse. Vi kan oprette et array ved at bruge følgende sætning:

 int array[]=new int[size]; 

Ovenstående sætning opretter en matrix af den angivne størrelse. Når vi forsøger at tilføje mere end dens størrelse, kaster den ArrayIndexOutOfBoundsException . For eksempel:

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

I Java, ArrayList er en klasse af samlingsramme. Det gennemfører Liste, Samling, Gentagelig, Klonbar, Serialiserbar , og Tilfældig adgang grænseflader. Det strækker sig Abstrakt liste klasse.

Vi kan oprette en forekomst af ArrayList ved at bruge følgende sætning:

 ArrayList arrayList=new ArrayList(); 

ArrayList er internt understøttet af arrayet i Java. Ændringsoperationen i ArrayList sænker ydeevnen, da den involverer nyt array og kopiering af indhold fra et gammelt array til et nyt array. Det kalder den indfødte implementerede metode System.arraycopy(sec, srcPos, dest, destPos, length) .

Vi kan ikke gemme primitiv type i ArrayList. Så det gemmer kun genstande. Det konverterer automatisk primitiv type til objekt. For eksempel har vi oprettet et ArrayList-objekt,

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

JVM'en konverterer det til heltalsobjekt gennem auto-boksning.

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

Ligheder

  • Array og ArrayList bruges begge til lagring af elementer.
  • Array og ArrayList kan begge gemme null-værdier.
  • De kan have duplikerede værdier.
  • De bevarer ikke rækkefølgen af ​​elementer.

Følgende tabel beskriver de vigtigste forskelle mellem array og ArrayList:

Basis Array ArrayList
Definition An array er et dynamisk skabt objekt. Den fungerer som en beholder, der indeholder det konstante antal værdier af samme type. Den har en sammenhængende hukommelsesplacering. Det ArrayList er en klasse af Java Samlinger rammer. Den indeholder populære klasser som Vektor, HashTable , og HashMap .
Statisk/ Dynamisk Array er statisk i størrelse. ArrayList er dynamisk i størrelse.
Kan ændres størrelse Et array er en fast længde datastruktur. ArrayList er en variabel længde datastruktur. Det kan selv ændre størrelsen, når det er nødvendigt.
Initialisering Det er obligatorisk at angive størrelsen af ​​et array, mens det initialiseres direkte eller indirekte. Vi kan oprette en forekomst af ArrayList uden at angive dens størrelse. Java opretter ArrayList med standardstørrelse.
Ydeevne Den præsterer hurtig i sammenligning med ArrayList på grund af fast størrelse. ArrayList er internt understøttet af arrayet i Java. Operationen til at ændre størrelsen i ArrayList sænker ydeevnen.
Primitiv/ Generisk type Et array kan gemme begge dele genstande og primitiver type. Vi kan ikke opbevare primitiv skriv i ArrayList. Den konverterer automatisk primitiv type til objekt.
Itererende værdier Vi bruger til sløjfe eller for hver sløjfe for at iterere over et array. Vi bruger en iterator at iterere over ArrayList.
Type-sikkerhed Vi kan ikke bruge generiske stoffer sammen med array, fordi det ikke er en konvertibel type array. ArrayList tillader os kun at gemme generisk/ type, derfor er den typesikker.
Længde Array giver en længde variabel, som angiver længden af ​​et array. ArrayList giver størrelse() metode til at bestemme størrelsen af ​​ArrayList.
Tilføjelse af elementer Vi kan tilføje elementer i et array ved at bruge opgave operatør. Java giver tilføje() metode til at tilføje elementer i ArrayList.
Enkelt/ multidimensionel Array kan være multidimensionel . ArrayList er altid enkeltdimensionelle .

Eksempel på Array i Java

I det følgende eksempel har vi simpelthen oprettet en matrix med længde fire.

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

Eksempel på ArrayList i Java

I det følgende eksempel har vi oprettet en forekomst af ArrayList og udført iteration over 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); } } } 

Produktion:

afinstaller angular cli
 12.4 34.6 56.8 78.9