I Java, array og ArrayList er de velkjente datastrukturene. En matrise er en grunnleggende funksjonalitet levert av Java, mens ArrayList er en klasse av Java Collections-rammeverket. Det tilhører java.util pakke.
Java Array
An array er et dynamisk skapt objekt. Den fungerer som en beholder som inneholder det konstante antallet verdier av samme type. Den har en sammenhengende minneplassering. Når en matrise er opprettet, kan vi ikke endre størrelsen. Vi kan lage en matrise ved å bruke følgende setning:
int array[]=new int[size];
Utsagnet ovenfor oppretter en matrise med den angitte størrelsen. Når vi prøver å legge til mer enn størrelsen, kaster den ArrayIndexOutOfBoundsException . For eksempel:
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-klassen
I Java, ArrayList er en klasse av samlingsrammeverk. Den gjennomfører Liste, Samling, Itererbar, Klonbar, Serialiserbar , og Tilfeldig tilgang grensesnitt. Den strekker seg Abstrakt liste klasse.
Vi kan opprette en forekomst av ArrayList ved å bruke følgende setning:
ArrayList arrayList=new ArrayList();
ArrayList er internt støttet av arrayen i Java. Resize-operasjonen i ArrayList reduserer ytelsen ettersom den involverer ny matrise og kopiering av innhold fra en gammel matrise til en ny matrise. Det kaller den innfødte implementerte metoden System.arraycopy(sec, srcPos, dest, destPos, length) .
Vi kan ikke lagre primitiv type i ArrayList. Så den lagrer bare gjenstander. Den konverterer automatisk primitiv type til objekt. For eksempel har vi opprettet et ArrayList-objekt,
ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList
JVM konverterer det til heltallsobjekt gjennom automatisk boksing.
ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object
Likheter
- Array og ArrayList brukes begge til å lagre elementer.
- Array og ArrayList kan begge lagre nullverdier.
- De kan ha dupliserte verdier.
- De bevarer ikke rekkefølgen av elementene.
Følgende tabell beskriver de viktigste forskjellene mellom array og ArrayList:
Basis | Array | ArrayList |
---|---|---|
Definisjon | An array er et dynamisk skapt objekt. Den fungerer som en beholder som inneholder det konstante antallet verdier av samme type. Den har en sammenhengende minneplassering. | De ArrayList er en Java-klasse Samlinger rammeverk. Den inneholder populære klasser som Vektor, HashTable , og HashMap . |
Statisk/ Dynamisk | Array er statisk i størrelse. | ArrayList er dynamisk i størrelse. |
Kan endre størrelse | En matrise er en fast lengde data struktur. | ArrayList er en variabel lengde data struktur. Den kan endres selv ved behov. |
Initialisering | Det er obligatorisk å angi størrelsen på en matrise mens du initialiserer den direkte eller indirekte. | Vi kan lage en forekomst av ArrayList uten å spesifisere størrelsen. Java lager ArrayList med standardstørrelse. |
Opptreden | Den presterer fort i forhold til ArrayList på grunn av fast størrelse. | ArrayList er internt støttet av arrayen i Java. Resize-operasjonen i ArrayList reduserer ytelsen. |
Primitiv/ Generisk type | En matrise kan lagre begge deler gjenstander og primitiver type. | Vi kan ikke lagre primitiv skriv inn ArrayList. Den konverterer automatisk primitiv type til objekt. |
Itererende verdier | Vi bruker til løkke eller for hver loop for å iterere over en matrise. | Vi bruker en iterator å iterere over ArrayList. |
Type-sikkerhet | Vi kan ikke bruke generikk sammen med array fordi det ikke er en konvertibel type array. | ArrayList lar oss bare lagre generisk/ type, det er derfor den er typesikker. |
Lengde | Array gir en lengde variabel som angir lengden på en matrise. | ArrayList gir størrelse() metode for å bestemme størrelsen på ArrayList. |
Legge til elementer | Vi kan legge til elementer i en matrise ved å bruke oppdrag operatør. | Java gir Legg til() metode for å legge til elementer i ArrayList. |
Enkelt/ multidimensjonalt | Array kan være flerdimensjonale . | ArrayList er alltid endimensjonal . |
Eksempel på Array i Java
I det følgende eksemplet har vi ganske enkelt laget en matrise med lengde fire.
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++)>
Eksempel på ArrayList i Java
I det følgende eksempelet har vi opprettet en forekomst av ArrayList og utført iterasjon over 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); } } }
Produksjon:
starter med java
12.4 34.6 56.8 78.9