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