logo

Atšķirība starp sarakstu un ArrayList

Java kolekcija nodrošina arhitektūru, lai apstrādātu objektu grupu. Kolekcija nozīmē vienu objektu vienību. Tas ļauj mums uzglabāt un manipulēt ar objektu grupu kā vienu vienību.

Mēs varam viegli veikt daudzas darbības, piemēram, meklēšanu, kārtošanu, ievietošanu, dzēšanu un manipulācijas ar objektu grupu, izmantojot kolekcijas sistēmu.

Java kolekcijas sistēma nodrošina vairākas saskarnes un klases. Saskarnes satur Iestatīt, Saraksts , Rinda, Deque , un klases satur ArrayList , Vektors , LinkedList , HashSet , TreeSet , LinkedHashSet , un PriorityQueue .

Internetbankas trūkumi

Šajā sadaļā mēs nošķirsim divus elementus Kolekcijas ietvars , kas ir saraksts un ArrayList. Saraksts ir saskarne, un ArrayList ir klase.

Atšķirība starp sarakstu un ArrayList

Saraksta interfeiss

Saraksts ir kolekcijas ietvara pakārtotais interfeiss, kas ļauj mums uzturēt sakārtotu objektu kolekciju. Mēs varam saglabāt dublētās vērtības un nulles elementus, izmantojot sarakstu. Tā nodrošina uz indeksu balstītu metodi objektu ievietošanas, dzēšanas, meklēšanas un atjaunināšanas operāciju veikšanai.

Saraksta saskarne notiek java.util pakotnē. Tas ievieš ArrayList, LinkedList, Stack un Vector klases. Tā ir arī ListIterator klašu bāze, ar kuras palīdzību mēs varam atkārtot sarakstu uz priekšu un atpakaļ.

Saraksta saskarne nodrošina pozicionālu piekļuvi un elementu ievietošanu un saglabā ievietošanas secību. Saraksta gadījumu var izveidot, izmantojot īstenošanas klases.

Saraksta ieviešana:

Mēs varam ieviest List interfeisu, izmantojot ArrayList, LinkedList, Vector un Stack klases .

Lai izveidotu saraksta interfeisu, mēs varam izmantot šādas sintakses:

 List list1= new ArrayList(); List list2 = new LinkedList(); List list3 = new Vector(); List list4 = new Stack(); 

Apsveriet tālāk sniegto saraksta piemēru:

 import java.util.*; public class JavaListExample { public static void main(String[] args) { List l = new ArrayList(); //Implementation of List l using ArrayList class l.add('Hello'); //adding objects l.add('Java'); l.add('Tpoint'); System.out.println(l); } } 

Izvade:

pilna forma pvr
 [Hello, Java, Tpoint] 

ArrayList klase

ArrayList klase elementu glabāšanai izmanto dinamisku masīvu. ArrayList klase darbojas kā masīvs, taču tajā nav lieluma ierobežojumu. Mēs varam pievienot vai noņemt elementus, kad vien vēlamies. Mēs varam saglabāt dublikātu elementu, izmantojot ArrayList klasi. Tas pārvalda ievietošanas secību iekšēji.

ArrayList klase ir daudz elastīgāka nekā tradicionālais masīvs. Tas ievieš saraksta saskarni, lai izmantotu visas saraksta saskarnes metodes. Tas notiek iekšā Java .util pakotne.

ArrayList klase pārmanto AbstractList klasi un ievieš List interfeisu. Tās elementiem var piekļūt nejauši. To nevar izmantot primitīviem veidiem, piemēram, int, char utt.; šiem datu tipiem mums ir nepieciešama iesaiņojuma klase.

ArrayList ieviešana:

ArrayList klase manto visas AbstractList klases metodes un ievieš List interfeisu.

ArrayList klasi var deklarēt šādi:

 public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Serializable 

ArrayList var definēt šādi:

 ArrayList myList = new ArrayList(); 

Apsveriet tālāk sniegto ArrayList piemēru:

 import java.util.*; public class JavaAL { public static void main(String[] args) { ArrayList l = new ArrayList(); //implementation of ArrayList l.add('Hello'); //adding objects l.add('Java'); l.add('Tpoint'); System.out.println(l); } } 

Izvade:

 [Hello, Java, Tpoint] 

Dažas galvenās atšķirības starp saraksta interfeisu un ArrayList klasi

Dažas galvenās atšķirības starp sarakstu un ArrayList ir šādas:

  • Viena no galvenajām atšķirībām ir tā List ir interfeiss, un ArrayList ir klase no Java kolekcijas sistēmas.
  • The Saraksts paplašina kolekcijas ietvaru , salīdzinoši ArrayList paplašina AbstractList klasi un ievieš List interfeisu .
  • List un ArrayList nosaukumvieta ir attiecīgi System.Collection.Generic un System Collection.
  • Sarakstā tiek saglabāti elementi secībā un tiek identificēti ar individuālo indeksa numuru. Salīdzinoši ArrayList saglabā elementus dinamiskā masīvā; tas var augt, kad nepieciešams.

Kad mēs definējam sarakstu šādi:

 List myList = new ArrayList(); 

Tas nozīmē, ka mēs varam izsaukt metodes un atsauces dalībniekus tikai no saraksta saskarnes.

Ja mēs definējam ArrayList šādi:

uzdevumu pārvaldnieks operētājsistēmai Linux
 ArrayList myList = new ArrayList(); 

Tas nozīmē, ka mēs varam izsaukt pieejamās metodes ArrayList un izmantot tās dalībniekus papildus sarakstam.

Apsveriet tālāk redzamo tabulu, lai salīdzinātu sarakstu ar sarakstu un ArrayList.

Salīdzināšanas bāze Saraksts ArrayList
Ģenerālis Tā ir saskarne. Tā ir klase.
Darbs Tas izveido objektu sarakstu, kuriem var piekļūt, izmantojot individuālo indeksa numuru. Tas rada dinamisku masīvu, kuru vajadzības gadījumā var paplašināt.
Īstenošana Saraksts saraksts1= jauns ArrayList(); ArrayList myList = jauns ArrayList();
Paplašināt/ieviest Tas paplašina kolekcijas ietvaru. Tas paplašina AbstractList klasi un ievieš List interfeisu.
Bāzes pakete java.util java.util
Vārdtelpa Sistēma.Kolekcija.Vispārīgi Sistēma.Kolekcija
Performance Tas nodrošina ātrāku manipulāciju ar objektiem. Tas nodrošina lēnas manipulācijas ar objektiem, salīdzinot ar sarakstu.
Instantiācija To nevar izveidot momentā. Tas var būt tūlītējs

Secinājums

Saraksts ir saskarne, un ArrayList ir Java kolekcijas ietvara klase. Saraksts izveido statisku masīvu, un ArrayList izveido dinamisku masīvu objektu glabāšanai. Tāpēc sarakstu nevar paplašināt, kad tas ir izveidots, bet, izmantojot ArrayList, mēs varam paplašināt masīvu, kad tas ir nepieciešams.

Ja vēlaties izmantot polimorfismu, labāk ir izmantot saraksta saskarni. Nākotnē, ja mums būs jāievieš saskarne, mums nebūs jāmaina programma.