logo

Skillnaden mellan Array och ArrayList

I Java, array och ArrayList är de välkända datastrukturerna. En array är en grundläggande funktion som tillhandahålls av Java, medan ArrayList är en klass av Java Collections-ramverk. Den tillhör java.util paket.

Java Array

En array är ett dynamiskt skapat objekt. Den fungerar som en behållare som innehåller det konstanta antalet värden av samma typ. Den har en sammanhängande minnesplats. När en array väl har skapats kan vi inte ändra dess storlek. Vi kan skapa en array genom att använda följande sats:

 int array[]=new int[size]; 

Ovanstående uttalande skapar en array av den angivna storleken. När vi försöker lägga till mer än dess storlek, kastar det ArrayIndexOutOfBoundsException . Till exempel:

 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 klass

I Java, ArrayList är en klass av samlingsramverk. Den genomför Lista, Samling, Iterable, Cloneable, Serialiserbar , och Slumpmässig tillgång gränssnitt. Den sträcker sig Abstrakt lista klass.

Vi kan skapa en instans av ArrayList genom att använda följande uttalande:

 ArrayList arrayList=new ArrayList(); 

ArrayList stöds internt av arrayen i Java. Åtgärden för att ändra storlek i ArrayList saktar ner prestandan eftersom den involverar ny array och kopiering av innehåll från en gammal array till en ny array. Den kallar den infödda implementerade metoden System.arraycopy(sec, srcPos, dest, destPos, length) .

Vi kan inte lagra primitiv typ i ArrayList. Så den lagrar bara föremål. Den konverterar automatiskt primitiv typ till objekt. Till exempel har vi skapat ett ArrayList-objekt,

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

JVM konverterar det till heltalsobjekt genom automatisk boxning.

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

Likheter

  • Array och ArrayList används båda för att lagra element.
  • Array och ArrayList kan båda lagra nollvärden.
  • De kan ha dubbla värden.
  • De bevarar inte ordningen på elementen.

Följande tabell beskriver de viktigaste skillnaderna mellan array och ArrayList:

Grund Array ArrayList
Definition En array är ett dynamiskt skapat objekt. Den fungerar som en behållare som innehåller det konstanta antalet värden av samma typ. Den har en sammanhängande minnesplats. De ArrayList är en klass av Java Samlingar ramverk. Den innehåller populära klasser som Vektor, HashTable , och HashMap .
Statisk/dynamisk Array är statisk i storlek. ArrayList är dynamisk i storlek.
Kan ändra storlek En array är en bestämd längd datastruktur. ArrayList är en variabel längd datastruktur. Den kan storleksändras vid behov.
Initialisering Det är obligatoriskt att ange storleken på en array samtidigt som den initieras direkt eller indirekt. Vi kan skapa en instans av ArrayList utan att ange dess storlek. Java skapar ArrayList med standardstorlek.
Prestanda Den presterar snabb i jämförelse med ArrayList på grund av fast storlek. ArrayList stöds internt av arrayen i Java. Åtgärden för att ändra storlek i ArrayList saktar ner prestandan.
Primitiv/ Generisk typ En array kan lagra båda föremål och primitiver typ. Vi kan inte lagra primitiv skriv i ArrayList. Den konverterar automatiskt primitiv typ till objekt.
Itererande värden Vi använder för slinga eller för varje loop för att iterera över en array. Vi använder en iterator att iterera över ArrayList.
Typ-säkerhet Vi kan inte använda generika tillsammans med array eftersom det inte är en konvertibel typ av array. ArrayList tillåter oss att endast lagra generisk/ typ, det är därför den är typsäker.
Längd Array tillhandahåller en längd variabel som anger längden på en array. ArrayList tillhandahåller storlek() metod för att bestämma storleken på ArrayList.
Lägga till element Vi kan lägga till element i en array genom att använda uppdrag operatör. Java tillhandahåller Lägg till() metod för att lägga till element i ArrayList.
Enkel/Mångdimensionell Array kan vara flerdimensionell . ArrayList är alltid endimensionell .

Exempel på Array i Java

I följande exempel har vi helt enkelt skapat en array med längd fyra.

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

Exempel på ArrayList i Java

I följande exempel har vi skapat en instans av ArrayList och utför iteration över 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:

linux $home
 12.4 34.6 56.8 78.9