logo

Forskjellen mellom Array og ArrayList

I Java, array og ArrayList er de velkjente datastrukturene. En matrise er en grunnleggende funksjonalitet levert av Java, mens ArrayList er en klasse av Java Collections-rammeverket. Det tilhører java.util pakke.

Java Array

An array er et dynamisk skapt objekt. Den fungerer som en beholder som inneholder det konstante antallet verdier av samme type. Den har en sammenhengende minneplassering. Når en matrise er opprettet, kan vi ikke endre størrelsen. Vi kan lage en matrise ved å bruke følgende setning:

 int array[]=new int[size]; 

Utsagnet ovenfor oppretter en matrise med den angitte størrelsen. Når vi prøver å legge til mer enn størrelsen, 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-klassen

I Java, ArrayList er en klasse av samlingsrammeverk. Den gjennomfører Liste, Samling, Itererbar, Klonbar, Serialiserbar , og Tilfeldig tilgang grensesnitt. Den strekker seg Abstrakt liste klasse.

Vi kan opprette en forekomst av ArrayList ved å bruke følgende setning:

 ArrayList arrayList=new ArrayList(); 

ArrayList er internt støttet av arrayen i Java. Resize-operasjonen i ArrayList reduserer ytelsen ettersom den involverer ny matrise og kopiering av innhold fra en gammel matrise til en ny matrise. Det kaller den innfødte implementerte metoden System.arraycopy(sec, srcPos, dest, destPos, length) .

Vi kan ikke lagre primitiv type i ArrayList. Så den lagrer bare gjenstander. Den konverterer automatisk primitiv type til objekt. For eksempel har vi opprettet et ArrayList-objekt,

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

JVM konverterer det til heltallsobjekt gjennom automatisk boksing.

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

Likheter

  • Array og ArrayList brukes begge til å lagre elementer.
  • Array og ArrayList kan begge lagre nullverdier.
  • De kan ha dupliserte verdier.
  • De bevarer ikke rekkefølgen av elementene.

Følgende tabell beskriver de viktigste forskjellene mellom array og ArrayList:

Basis Array ArrayList
Definisjon An array er et dynamisk skapt objekt. Den fungerer som en beholder som inneholder det konstante antallet verdier av samme type. Den har en sammenhengende minneplassering. De ArrayList er en Java-klasse Samlinger rammeverk. Den inneholder populære klasser som Vektor, HashTable , og HashMap .
Statisk/ Dynamisk Array er statisk i størrelse. ArrayList er dynamisk i størrelse.
Kan endre størrelse En matrise er en fast lengde data struktur. ArrayList er en variabel lengde data struktur. Den kan endres selv ved behov.
Initialisering Det er obligatorisk å angi størrelsen på en matrise mens du initialiserer den direkte eller indirekte. Vi kan lage en forekomst av ArrayList uten å spesifisere størrelsen. Java lager ArrayList med standardstørrelse.
Opptreden Den presterer fort i forhold til ArrayList på grunn av fast størrelse. ArrayList er internt støttet av arrayen i Java. Resize-operasjonen i ArrayList reduserer ytelsen.
Primitiv/ Generisk type En matrise kan lagre begge deler gjenstander og primitiver type. Vi kan ikke lagre primitiv skriv inn ArrayList. Den konverterer automatisk primitiv type til objekt.
Itererende verdier Vi bruker til løkke eller for hver loop for å iterere over en matrise. Vi bruker en iterator å iterere over ArrayList.
Type-sikkerhet Vi kan ikke bruke generikk sammen med array fordi det ikke er en konvertibel type array. ArrayList lar oss bare lagre generisk/ type, det er derfor den er typesikker.
Lengde Array gir en lengde variabel som angir lengden på en matrise. ArrayList gir størrelse() metode for å bestemme størrelsen på ArrayList.
Legge til elementer Vi kan legge til elementer i en matrise ved å bruke oppdrag operatør. Java gir Legg til() metode for å legge til elementer i ArrayList.
Enkelt/ multidimensjonalt Array kan være flerdimensjonale . ArrayList er alltid endimensjonal .

Eksempel på Array i Java

I det følgende eksemplet har vi ganske enkelt laget en matrise med lengde 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 eksempelet har vi opprettet en forekomst av ArrayList og utført iterasjon 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); } } } 

Produksjon:

starter med java
 12.4 34.6 56.8 78.9