Anbefalet, 2024

Redaktørens Valg

Forskel mellem Liste og ArrayList i Java

Liste og ArrayList er medlemmer af samlingsrammen. List er en samling af elementer i en sekvens, hvor hvert element er en objekt, og elementer er adgang til deraf position (indeks). ArrayList opretter en dynamisk række af objekter, der øger eller reducerer størrelse, når det er nødvendigt. Den primære forskel mellem Liste og ArrayList er, at List er en grænseflade, og ArrayList er en klasse. Lad os studere forskellen mellem listen og ArrayList ved hjælp af sammenligningstabellen vist nedenfor.

Sammenligningstabel

Grundlag for sammenligningListeArrayList
GrundlæggendeListe er et interfaceArrayList er en standard Collection Class.
Syntaksgrænseflade listeklasse ArrayList
Forlæng / ImplementListe interface udvider Collection Framework.ArrayList udvider AbstractList og implementerer List Interface.
navnerumSystem.Collections.Generic.System.Collections.
ArbejdeDet bruges til at oprette en liste over elementer (objekter), der er knyttet til deres indeksnumre.ArrayList bruges til at oprette et dynamisk array, der indeholder objekter.

Definition af liste

List er en grænseflade, der udvider samlingsrammen . List interface beskriver samlingen af ​​elementer, der arrangeres sekventielt. List interface er implementeret af følgende standard samling klasser som ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack . Liste interface har elementer, der er knyttet til deres indeksnumre. Du kan få adgang til et element i listen ved sin position (indeks) i listen. En liste oprettet ved hjælp af List interface starter med et nulbaseret indeks.

Ud over de metoder, der er arvet af Collection Framework, definerer List-grænsefladen også en vis metode. De metoder, der tilføjes af List-grænsefladen, er tilføjes (int, E) og addAll (int, Collection) . Disse metoder tilføjer et element til listen ved deres indeks. Metoder inde i listen kan kaste en undtagelse som UnsupportedOperationException, hvis metoden ikke kan ændre listen. Når et objekt i en liste er uforeneligt med et andet objekt på listen, kastes ClassCastException.Nul elementer er ikke tilladt i listen, hvis du forsøger at indsætte et null objekt på listen, kastes NullPointerException .

Du kan få et element fra listen ved hjælp af get () -metoden. Du kan indstille værdien af ​​et element i listen ved hjælp af set () -metoden. Du kan også få underlisten fra listen ved hjælp af en underlisteliste () . Det bliver praktisk at operere på underlisten i stedet for en liste.

Definition af ArrayList

En af standardkollektionsklasserne er ArrayList, der udvider abstraktlisteklassen og også implementerer List- grænsefladen. ArrayList-klassen bruges til at skabe de dynamiske arrayer, der vokser og krymper, når det er nødvendigt. Listen oprettet ved hjælp af ArrayList-klassen er intet andet end rækken af ​​objekter. I Java har standardmatrixen den faste længde, så du skal kende størrelsen af ​​arrayet på forhånd. Men det kan være tilfældet, at du måske ikke ved, hvilken længde af arrayet du har brug for, indtil løbetid. Derfor indførte samlingsrammen ArrayList-klassen for at overvinde dette problem.

ArrayList har konstruktorer, der skaber arrayet med sin indledende kapacitet. Selvom kapaciteten af ​​objektet til klasse ArrayList stiger automatisk, når elementer tilføjes til arrayet, kan du stadig manuelt øge kapaciteten af ​​objektet til ArrayList ved hjælp af metoden sikreCapacity () . Det er bedre at øge kapaciteten i array oprindeligt i stedet for at omfordele hukommelsen senere. Fordi omfordeling er dyrere end at allokere hukommelsen på én gang.

Nøgleforskelle mellem Liste og ArrayList

  1. En af de vigtigste forskelle mellem Liste og ArrayList er, at listen er en grænseflade, og ArrayList er en standard Collection klasse .
  2. List-grænsefladen udvider samlingsrammen, mens ArrayList udvider AbstractList Class og implementerer List- grænseflader.
  3. Navnefeltet til List-grænsefladen er System.Collection.Generic, mens navnefeltet til ArrayList er System.Collection .
  4. List interface skaber en samling af elementer, der er gemt i en sekvens og identificeres eller åbnes af deres indeksnummer. På den anden side opretter ArrayList en række objekter, hvor arrayet kan vokse dynamisk, når det kræves.

Konklusion:

ArrayListen overvinder spørgsmålet om et statisk array i standard Java, dvs. arrayet kan ikke vokse i størrelse, når det er oprettet. Når et array er oprettet ved hjælp af ArrayList, oprettes et dynamisk array, der kan vokse og formindskes, når det er nødvendigt. Standard Collection Class ArrayList udvider List-grænsefladen.

Top