Sammenligningstabel
Grundlag for sammenligning | Liste | ArrayList |
---|---|---|
Grundlæggende | Liste er et interface | ArrayList er en standard Collection Class. |
Syntaks | grænseflade liste | klasse ArrayList |
Forlæng / Implement | Liste interface udvider Collection Framework. | ArrayList udvider AbstractList og implementerer List Interface. |
navnerum | System.Collections.Generic. | System.Collections. |
Arbejde | Det 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
- En af de vigtigste forskelle mellem Liste og ArrayList er, at listen er en grænseflade, og ArrayList er en standard Collection klasse .
- List-grænsefladen udvider samlingsrammen, mens ArrayList udvider AbstractList Class og implementerer List- grænseflader.
- Navnefeltet til List-grænsefladen er System.Collection.Generic, mens navnefeltet til ArrayList er System.Collection .
- 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.