logo

Atšķirība starp Array un ArrayList

Java valodā, masīvs un ArrayList ir labi zināmās datu struktūras. Masīvs ir pamata funkcionalitāte, ko nodrošina Java, turpretim ArrayList ir Java Collections ietvara klase. Tas pieder java.util iepakojums.

Java masīvs

An masīvs ir dinamiski izveidots objekts. Tas kalpo kā konteiners, kurā ir nemainīgs viena veida vērtību skaits. Tam ir blakus esoša atmiņas vieta. Kad masīvs ir izveidots, mēs nevaram mainīt tā lielumu. Mēs varam izveidot masīvu, izmantojot šādu paziņojumu:

 int array[]=new int[size]; 

Iepriekš minētais paziņojums izveido norādītā izmēra masīvu. Kad mēs cenšamies pievienot vairāk nekā tā lielums, tas met ArrayIndexOutOfBoundsException . Piemēram:

 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 klase

Java valodā, ArrayList ir kolekciju ietvara klase. Tā īsteno Saraksts, Kolekcija, Atkārtojams, Klonējams, Serializējams , un RandomAccess saskarnes. Tas pagarina AbstractList klasē.

Mēs varam izveidot ArrayList gadījumu, izmantojot šādu paziņojumu:

 ArrayList arrayList=new ArrayList(); 

ArrayList iekšēji nodrošina Java masīvs. Izmēru maiņas darbība programmā ArrayList palēnina veiktspēju, jo tā ietver jaunu masīvu un satura kopēšanu no vecā masīva uz jaunu. Tas izsauc vietējo ieviesto metodi System.arraycopy(sec, srcPos, dest, destPos, garums) .

Mēs nevaram saglabāt primitīvo tipu ArrayList. Tātad tas glabā tikai objektus. Tas automātiski pārvērš primitīvo tipu objektā. Piemēram, mēs esam izveidojuši ArrayList objektu,

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

JVM to pārvērš vesela skaitļa objektā, izmantojot automātisko boksu.

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

Līdzības

  • Array un ArrayList tiek izmantoti elementu glabāšanai.
  • Gan Array, gan ArrayList var saglabāt nulles vērtības.
  • Tiem var būt dublētās vērtības.
  • Tie nesaglabā elementu secību.

Šajā tabulā ir aprakstītas galvenās atšķirības starp masīvu un ArrayList:

Pamats Masīvs ArrayList
Definīcija An masīvs ir dinamiski izveidots objekts. Tas kalpo kā konteiners, kurā ir nemainīgs viena veida vērtību skaits. Tam ir blakus esoša atmiņas vieta. The ArrayList ir Java klase Kolekcijas ietvaros. Tajā ir tādas populāras nodarbības kā Vektors, HashTable , un HashMap .
Statisks/ dinamisks Masīvs ir statisks izmērā. ArrayList ir dinamisks izmērā.
Maināms izmērs Masīvs ir a fiksēta garuma datu struktūra. ArrayList ir a mainīga garuma datu struktūra. Ja nepieciešams, tā izmēru var mainīt pats.
Inicializācija Ir obligāti jānorāda masīva lielums, to tieši vai netieši inicializējot. Mēs varam izveidot ArrayList gadījumu, nenorādot tā lielumu. Java izveido noklusējuma lieluma ArrayList.
Performance Tā veic ātri salīdzinājumā ar ArrayList fiksētā izmēra dēļ. ArrayList iekšēji nodrošina Java masīvs. Izmēru maiņas darbība programmā ArrayList palēnina veiktspēju.
Primitīvs/ vispārīgs tips Masīvā var saglabāt abus objektus un primitīvie veids. Mēs nevaram uzglabāt primitīvs ierakstiet ArrayList. Tas automātiski pārvērš primitīvo tipu objektā.
Vērtību atkārtošana Mēs izmantojam priekš cilpa vai katram cilpa, lai atkārtotu masīvu. Mēs izmantojam an iterators lai atkārtotu ArrayList.
Tips-Drošība Mēs nevaram izmantot vispārīgos vārdus kopā ar masīvu, jo tas nav konvertējams masīva veids. ArrayList ļauj mums uzglabāt tikai vispārējs/ tips, tāpēc tas ir drošs tipam.
Garums Masīvs nodrošina a garums mainīgais, kas apzīmē masīva garumu. ArrayList nodrošina Izmērs() metode, lai noteiktu ArrayList lielumu.
Elementu pievienošana Mēs varam pievienot elementus masīvam, izmantojot uzdevums operators. Java nodrošina pievienot () metode elementu pievienošanai ArrayList.
Viena/daudzdimensiju Masīvs var būt daudzdimensiju . ArrayList vienmēr ir viendimensijas .

Masīva piemērs Java valodā

Nākamajā piemērā mēs vienkārši esam izveidojuši četru garumu masīvu.

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

ArrayList piemērs Java

Nākamajā piemērā mēs esam izveidojuši ArrayList gadījumu un veicam iterāciju, izmantojot 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); } } } 

Izvade:

tipa mainīgie java
 12.4 34.6 56.8 78.9