logo

Különbség az Array és az ArrayList között

Java nyelven, sor és Tömb lista a jól ismert adatszerkezetek. A tömb a Java által biztosított alapvető funkció, míg Tömb lista a Java Collections keretrendszer egy osztálya. hozzátartozik java.util csomag.

Java tömb

An sor egy dinamikusan létrehozott objektum. Konténerként szolgál, amely az azonos típusú értékek állandó számát tartalmazza. Van egy összefüggő memóriahelye. A tömb létrehozása után nem tudjuk megváltoztatni a méretét. Tömböt hozhatunk létre a következő utasítással:

 int array[]=new int[size]; 

A fenti utasítás egy megadott méretű tömböt hoz létre. Ha a méreténél többet próbálunk hozzáadni, akkor dob ArrayIndexOutOfBoundsException . Például:

 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 osztály

Java nyelven, Tömb lista a Collections keretrendszer egy osztálya. Megvalósítja Lista, Gyűjtemény, Iterálható, Klónozható, Sorosozható , és RandomAccess interfészek. Kiterjed AbstractList osztály.

Létrehozhatjuk az ArrayList példányát a következő utasítás használatával:

 ArrayList arrayList=new ArrayList(); 

Az ArrayList belsőleg a Java tömb által támogatott. Az ArrayList átméretezési művelete lelassítja a teljesítményt, mivel új tömböt jelent, és a tartalmat egy régi tömbből új tömbbe másolja. Meghívja a natív implementált metódust System.arraycopy(sec, srcPos, dest, destPos, long) .

Nem tárolhatunk primitív típust az ArrayListben. Tehát csak tárgyakat tárol. A primitív típust automatikusan objektummá alakítja. Például létrehoztunk egy ArrayList objektumot,

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

A JVM egész objektummá alakítja át az automatikus dobozolás révén.

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

Hasonlóságok

  • Az Array és az ArrayList egyaránt használható elemek tárolására.
  • Az Array és az ArrayList egyaránt null értékeket tárolhat.
  • Megkettőző értékeik lehetnek.
  • Nem őrzik meg az elemek sorrendjét.

Az alábbi táblázat leírja a tömb és az ArrayList közötti legfontosabb különbségeket:

Alap Sor Tömb lista
Meghatározás An sor egy dinamikusan létrehozott objektum. Konténerként szolgál, amely az azonos típusú értékek állandó számát tartalmazza. Van egy összefüggő memóriahelye. A Tömb lista a Java egy osztálya Gyűjtemények keretrendszer. Olyan népszerű osztályokat tartalmaz, mint pl Vektor, HashTable , és HashMap .
Statikus/ Dinamikus A tömb az statikus méretben. Az ArrayList az dinamikus méretben.
Átméretezhető Egy tömb a fix hosszúságú adatszerkezet. Az ArrayList egy változó hosszúságú adatszerkezet. Szükség esetén önmagában is átméretezhető.
Inicializálás Kötelező megadni a tömb méretét, miközben közvetlenül vagy közvetve inicializálja. Létrehozhatunk egy ArrayList példányt a méretének megadása nélkül. A Java létrehozza az alapértelmezett méretű ArrayList-et.
Teljesítmény Ez teljesít gyors az ArrayListhez képest a rögzített méret miatt. Az ArrayList belsőleg a Java tömb által támogatott. Az ArrayList átméretezési művelete lelassítja a teljesítményt.
Primitív/ általános típus Egy tömb mindkettőt tárolhatja tárgyakat és primitívek típus. Nem tudjuk tárolni primitív írja be az ArrayList-be. A primitív típust automatikusan objektummá alakítja.
Értékek ismétlése Használjuk számára hurok ill az egyes hurok egy tömbön keresztül történő iterációhoz. Használunk egy iterátor az ArrayList feletti iterációhoz.
Típus-biztonság Nem használhatunk általánosakat a tömbök mellett, mert ez nem konvertálható tömbtípus. Az ArrayList csak tárolást tesz lehetővé generikus/ típus, ezért típusbiztos.
Hossz A tömb biztosítja a hossz változó, amely egy tömb hosszát jelöli. Az ArrayList biztosítja a méret() módszer az ArrayList méretének meghatározására.
Elemek hozzáadása A tömbhöz elemeket adhatunk hozzá a feladat operátor. A Java biztosítja a add() módszer elemek hozzáadásához az ArrayListhez.
Egy-/többdimenziós Tömb lehet többdimenziós . ArrayList mindig egydimenziós .

Példa a tömbre Java-ban

A következő példában egyszerűen létrehoztunk egy négy hosszúságú tömböt.

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

Példa az ArrayList-re Java-ban

A következő példában létrehoztuk az ArrayList egy példányát, amely iterációt hajt végre az ArrayList felett.

 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); } } } 

Kimenet:

hogyan lehet kitörni a while ciklusból a java
 12.4 34.6 56.8 78.9