logo

Rozdiel medzi Array a ArrayList

v Jave pole a ArrayList sú dobre známe dátové štruktúry. Pole je základná funkcia poskytovaná Java, zatiaľ čo ArrayList je trieda frameworku Java Collections. Patrí k java.util balík.

Java Array

An pole je dynamicky vytvorený objekt. Slúži ako kontajner, ktorý obsahuje konštantný počet hodnôt rovnakého typu. Má súvislé pamäťové miesto. Po vytvorení poľa už nemôžeme zmeniť jeho veľkosť. Pole môžeme vytvoriť pomocou nasledujúceho príkazu:

 int array[]=new int[size]; 

Vyššie uvedený príkaz vytvorí pole zadanej veľkosti. Keď sa pokúsime pridať viac, ako je jeho veľkosť, hádže Výnimka ArrayIndexOutOfBounds . Napríklad:

 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; 

Trieda Java ArrayList

v Jave ArrayList je trieda frameworku Collections. Realizuje Zoznam, zbierka, opakovateľné, klonovateľné, serializovateľné , a Náhodný prístup rozhrania. Rozširuje sa AbstractList trieda.

Inštanciu ArrayList môžeme vytvoriť pomocou nasledujúceho príkazu:

 ArrayList arrayList=new ArrayList(); 

ArrayList je interne podporovaný poľom v jazyku Java. Operácia zmeny veľkosti v ArrayList spomaľuje výkon, pretože zahŕňa nové pole a kopírovanie obsahu zo starého poľa do nového poľa. Volá natívnu implementovanú metódu System.arraycopy(sec, srcPos, dest, destPos, length) .

Nemôžeme uložiť primitívny typ v ArrayList. Ukladá teda iba predmety. Automaticky konvertuje primitívny typ na objekt. Napríklad sme vytvorili objekt ArrayList,

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

JVM ho prevedie na objekt typu Integer pomocou automatického boxovania.

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

Podobnosti

  • Pole a ArrayList sa používajú na ukladanie prvkov.
  • Pole a ArrayList môžu ukladať hodnoty null.
  • Môžu mať duplicitné hodnoty.
  • Nezachovávajú poradie prvkov.

Nasledujúca tabuľka popisuje kľúčové rozdiely medzi poľom a ArrayList:

Základ Pole ArrayList
Definícia An pole je dynamicky vytvorený objekt. Slúži ako kontajner, ktorý obsahuje konštantný počet hodnôt rovnakého typu. Má súvislé pamäťové miesto. The ArrayList je trieda Java zbierky rámec. Obsahuje obľúbené triedy ako napr Vektor, HashTable , a HashMap .
Statické/dynamické Pole je statické vo veľkosti. ArrayList je dynamický vo veľkosti.
Možnosť zmeny veľkosti Pole je a s pevnou dĺžkou dátová štruktúra. ArrayList je a variabilná dĺžka dátová štruktúra. V prípade potreby sa dá sama zmeniť veľkosť.
Inicializácia Pri priamej alebo nepriamej inicializácii poľa je povinné zadať veľkosť poľa. Môžeme vytvoriť inštanciu ArrayList bez zadania jej veľkosti. Java vytvorí ArrayList štandardnej veľkosti.
Výkon Vykonáva sa rýchlo v porovnaní s ArrayList kvôli pevnej veľkosti. ArrayList je interne podporovaný poľom v jazyku Java. Operácia zmeny veľkosti v ArrayList spomaľuje výkon.
Primitívny/generický typ Pole môže uložiť oboje predmety a primitívov typu. Nemôžeme skladovať primitívne zadajte ArrayList. Automaticky konvertuje primitívny typ na objekt.
Iterácia hodnôt Používame pre slučka resp pre každý slučku na iteráciu poľa. Používame an iterátor iterovať cez ArrayList.
Typová bezpečnosť Nemôžeme používať generiká spolu s poľom, pretože to nie je konvertibilný typ poľa. ArrayList nám umožňuje iba ukladať všeobecný/ typu, preto je typovo bezpečný.
Dĺžka Array poskytuje a dĺžka premenná, ktorá označuje dĺžku poľa. ArrayList poskytuje veľkosť () metóda na určenie veľkosti ArrayList.
Pridávanie prvkov Prvky do poľa môžeme pridať pomocou zadanie operátor. Java poskytuje pridať () metóda na pridanie prvkov do ArrayList.
Jedno/ Viacrozmerné Pole môže byť viacrozmerný . ArrayList je vždy jednorozmerný .

Príklad Array v Jave

V nasledujúcom príklade sme jednoducho vytvorili pole dĺžky štyri.

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

Príklad ArrayList v Jave

V nasledujúcom príklade sme vytvorili inštanciu ArrayList a vykonali iteráciu 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); } } } 

Výkon:

mediálny prenos
 12.4 34.6 56.8 78.9