Javalla, joukko ja ArrayList ovat hyvin tunnettuja tietorakenteita. Taulukko on Javan tarjoama perustoiminto, kun taas ArrayList on Java Collections -kehyksen luokka. Se kuuluu java.util paketti.
Java Array
An joukko on dynaamisesti luotu objekti. Se toimii säiliönä, joka sisältää vakiomäärän samantyyppisiä arvoja. Sillä on vierekkäinen muistipaikka. Kun taulukko on luotu, emme voi muuttaa sen kokoa. Voimme luoda taulukon käyttämällä seuraavaa lausetta:
int array[]=new int[size];
Yllä oleva lauseke luo määritetyn kokoisen taulukon. Kun yritämme lisätä enemmän kuin sen koko, se heittää ArrayIndexOutOfBoundsException . Esimerkiksi:
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 -luokka
Javalla, ArrayList on Collections-kehyksen luokka. Se toteuttaa Luettelo, kokoelma, iteroitava, kloonattava, sarjoitettava , ja RandomAccess käyttöliittymät. Se ulottuu Abstract List luokkaa.
Voimme luoda ArrayList-esiintymän käyttämällä seuraavaa käskyä:
ArrayList arrayList=new ArrayList();
ArrayListiä tukee sisäisesti Java-taulukko. ArrayListin koonmuutostoiminto hidastaa suorituskykyä, koska se sisältää uuden taulukon ja sisällön kopioimisen vanhasta taulukosta uuteen. Se kutsuu alkuperäistä toteutettua menetelmää System.arraycopy(sec, srcPos, dest, destPos, pituus) .
Emme voi tallentaa primitiivistä tyyppiä ArrayListiin. Joten se tallentaa vain esineitä. Se muuntaa automaattisesti primitiivisen tyypin objektiksi. Olemme esimerkiksi luoneet ArrayList-objektin,
ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList
JVM muuntaa sen kokonaislukuobjektiksi automaattisen laatikon avulla.
ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object
Samankaltaisuudet
- Arraya ja ArrayListiä käytetään molempia elementtien tallentamiseen.
- Array ja ArrayList voivat molemmat tallentaa nolla-arvoja.
- Niillä voi olla päällekkäisiä arvoja.
- Ne eivät säilytä elementtien järjestystä.
Seuraavassa taulukossa kuvataan tärkeimmät erot taulukon ja ArrayListin välillä:
Perusta | Array | ArrayList |
---|---|---|
Määritelmä | An joukko on dynaamisesti luotu objekti. Se toimii säiliönä, joka sisältää vakiomäärän samantyyppisiä arvoja. Sillä on vierekkäinen muistipaikka. | The ArrayList on Java-luokka Kokoelmat puitteet. Se sisältää suosittuja luokkia, kuten Vektori, HashTable , ja HashMap . |
Staattinen / dynaaminen | Array on staattinen kooltaan. | ArrayList on dynaaminen kooltaan. |
Kokoa muutettava | Joukko on a kiinteä pituus tietorakenne. | ArrayList on a vaihtuvapituinen tietorakenne. Sen kokoa voidaan muuttaa tarvittaessa. |
Alustus | On pakollista antaa taulukon koko, kun se alustetaan suoraan tai epäsuorasti. | Voimme luoda ArrayListin esiintymän määrittelemättä sen kokoa. Java luo oletuskoon ArrayListin. |
Esitys | Se suorittaa nopeasti verrattuna ArrayListiin kiinteän koon vuoksi. | ArrayListiä tukee sisäisesti Java-taulukko. ArrayListin koonmuutostoiminto hidastaa suorituskykyä. |
Alkukantainen/ yleinen tyyppi | Joukko voi tallentaa molemmat esineitä ja primitiivit tyyppi. | Emme voi varastoida primitiivinen kirjoita ArrayList. Se muuntaa automaattisesti primitiivisen tyypin objektiksi. |
Toistuvat arvot | Käytämme varten silmukka tai jokaiselle silmukka iteroidaksesi taulukon yli. | Käytämme an iteraattori iteroidaksesi ArrayListin kautta. |
Tyyppi-turvallisuus | Emme voi käyttää geneerejä taulukon kanssa, koska se ei ole muunnettavissa oleva taulukko. | ArrayList antaa meille mahdollisuuden tallentaa vain yleinen/ tyyppi, siksi se on tyyppiturvallinen. |
Pituus | Array tarjoaa a pituus muuttuja, joka ilmaisee taulukon pituuden. | ArrayList tarjoaa koko() menetelmä ArrayListin koon määrittämiseksi. |
Elementtien lisääminen | Voimme lisätä elementtejä taulukkoon käyttämällä toimeksianto operaattori. | Java tarjoaa lisätä() menetelmä elementtien lisäämiseksi ArrayList-luetteloon. |
Yksi / moniulotteinen | Array voi olla moniulotteinen . | ArrayList on aina yksiulotteinen . |
Esimerkki Arraysta Javassa
Seuraavassa esimerkissä olemme yksinkertaisesti luoneet taulukon, jonka pituus on neljä.
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++)>
Esimerkki ArrayLististä Javassa
Seuraavassa esimerkissä olemme luoneet ArrayList-esiintymän ja suorittaneet iteroinnin ArrayListin yli.
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); } } }
Lähtö:
minun näytön koko
12.4 34.6 56.8 78.9