logo

Skirtumas tarp Array ir ArrayList

Java, masyvas ir ArrayList yra gerai žinomos duomenų struktūros. Masyvas yra pagrindinė „Java“ teikiama funkcija, tuo tarpu ArrayList yra „Java Collections“ sistemos klasė. Tai priklauso java.util paketą.

Java masyvas

An masyvas yra dinamiškai kuriamas objektas. Jis naudojamas kaip konteineris, kuriame yra pastovus to paties tipo verčių skaičius. Jis turi gretimą atminties vietą. Sukūrę masyvą, negalime pakeisti jo dydžio. Mes galime sukurti masyvą naudodami šį teiginį:

 int array[]=new int[size]; 

Aukščiau pateiktas teiginys sukuria nurodyto dydžio masyvą. Kai bandome pridėti daugiau nei jo dydis, jis meta ArrayIndexOutOfBoundsException . Pavyzdžiui:

 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 klasė

Java, ArrayList yra kolekcijų sistemos klasė. Tai įgyvendina Sąrašas, rinkinys, kartojamas, klonuojamas, serializuojamas , ir Atsitiktinė prieiga sąsajos. Jis tęsiasi Abstractsąrašas klasė.

Mes galime sukurti ArrayList egzempliorių naudodami šį teiginį:

 ArrayList arrayList=new ArrayList(); 

„ArrayList“ viduje palaiko „Java“ masyvas. Dydžio keitimo operacija „ArrayList“ sulėtina našumą, nes apima naują masyvą ir turinio kopijavimą iš seno masyvo į naują. Jis vadina vietinį įdiegtą metodą System.masyvo kopija (sec, srcPos, dest, destPos, long) .

Negalime saugoti primityvaus tipo „ArrayList“. Taigi, jame saugomi tik objektai. Jis automatiškai konvertuoja primityvų tipą į objektą. Pavyzdžiui, mes sukūrėme ArrayList objektą,

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

JVM konvertuoja jį į sveikųjų skaičių objektą automatiniu būdu.

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

Panašumai

  • Array ir ArrayList abu naudojami elementams saugoti.
  • „Array“ ir „ArrayList“ gali saugoti nulines reikšmes.
  • Jie gali turėti pasikartojančias vertes.
  • Jie neišsaugo elementų tvarkos.

Šioje lentelėje aprašomi pagrindiniai masyvo ir ArrayList skirtumai:

Pagrindas Masyvas ArrayList
Apibrėžimas An masyvas yra dinamiškai kuriamas objektas. Jis naudojamas kaip konteineris, kuriame yra pastovus to paties tipo verčių skaičius. Jis turi gretimą atminties vietą. The ArrayList yra Java klasė Kolekcijos sistema. Jame yra populiarių klasių, tokių kaip Vektorius, HashTable , ir HashMap .
Statinis/ Dinaminis Masyvas yra statinis dydžio. ArrayList yra dinamiškas dydžio.
Keičiamas dydis Masyvas yra a fiksuoto ilgio duomenų struktūra. ArrayList yra a kintamo ilgio duomenų struktūra. Jei reikia, jo dydį galima pakeisti.
Inicijavimas Privaloma nurodyti masyvo dydį tiesiogiai arba netiesiogiai jį inicijuojant. Galime sukurti ArrayList egzempliorių nenurodydami jo dydžio. Java sukuria numatytojo dydžio ArrayList.
Spektaklis Tai atlieka greitai palyginti su ArrayList dėl ​​fiksuoto dydžio. „ArrayList“ viduje palaiko „Java“ masyvas. Dydžio keitimo operacija „ArrayList“ sulėtina našumą.
Primityvus/generinis tipas Masyvas gali saugoti abu objektų ir primityvai tipo. Mes negalime saugoti primityvus įveskite ArrayList. Jis automatiškai konvertuoja primityvų tipą į objektą.
Vertybių kartojimas Mes naudojame dėl kilpa arba kiekvienam ciklas, skirtas kartoti masyve. Mes naudojame an iteratorius kartoti per ArrayList.
Tipas-Sauga Negalime naudoti bendrinių žodžių kartu su masyvu, nes tai nėra konvertuojamas masyvo tipas. „ArrayList“ leidžia mums saugoti tik bendras/ tipas, todėl jis yra saugus tipo.
Ilgis Masyvas suteikia a ilgio kintamasis, nurodantis masyvo ilgį. „ArrayList“ pateikia dydis () metodas ArrayList dydžiui nustatyti.
Elementų pridėjimas Mes galime įtraukti elementus į masyvą naudodami paskyrimas operatorius. „Java“ suteikia papildyti() būdas įtraukti elementus į ArrayList.
Viengubas / daugiamatis Masyvas gali būti daugiamatis . ArrayList visada yra vienmatis .

Masyvo pavyzdys Java

Šiame pavyzdyje mes tiesiog sukūrėme keturių ilgių masyvą.

 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“ pavyzdys „Java“.

Šiame pavyzdyje sukūrėme ArrayList egzempliorių ir atliekame iteraciją per 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); } } } 

Išvestis:

kas yra prologas
 12.4 34.6 56.8 78.9