Sammenligningstabel
Grunnlag for sammenligning | Liste | Arraylist |
---|---|---|
grunn~~POS=TRUNC | Liste er et grensesnitt | ArrayList er en standard samlingsklasse. |
syntax | grensesnittliste | klasse ArrayList |
Utvid / Implementere | Liste grensesnitt utvider Collection Framework. | ArrayList utvider AbstractList og implementerer List Interface. |
namespace | System.Collections.Generic. | System.Collections. |
Arbeid | Det brukes til å lage en liste over elementer (objekter) som er knyttet til deres indeksnumre. | ArrayList brukes til å lage et dynamisk array som inneholder objekter. |
Definisjon av liste
Liste er et grensesnitt som utvider samlingsrammen . Liste grensesnitt beskriver samlingen av elementer som er arrangert i rekkefølge. Liste grensesnitt er implementert av følgende standard samling klasser som ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack . Liste grensesnitt har elementer som er knyttet til deres indeks tall. Du kan få tilgang til et element i listen ved sin posisjon (indeks) i listen. En liste opprettet ved hjelp av List-grensesnittet starter med en nullbasert indeks.
I tillegg til metodene som arves av Collection Framework, definerer List-grensesnittet også en egen metode. Metodene lagt til av listen grensesnittet er, legg til (int, E) og addAll (int, Collection) . Disse metodene legger til et element i listen ved hjelp av indeksen. Metoder i listen kan kaste et unntak som UnsupportedOperationException hvis metoden ikke kan endre listen. Når ett objekt i en liste er uforenlig med et annet objekt i listen, blir ClassCastException kastet. Nullelementer er ikke tillatt i listen hvis du prøver å sette inn et null objekt i listen, blir NullPointerException kastet.
Du kan skaffe et element fra listen ved hjelp av get () -metoden. Du kan angi verdien av et element i listen ved hjelp av set () -metoden. Du kan også få dellisten fra listen ved hjelp av en dellistemetode () . Det blir praktisk å operere på dellisten i stedet for en liste.
Definisjon av ArrayList
En av de vanlige samlingsklassene er ArrayList som strekker seg AbstractList- klassen og også implementerer List- grensesnittet. ArrayList-klassen brukes til å lage de dynamiske arrays som vokser og krympes når det er nødvendig. Listen som er opprettet ved hjelp av ArrayList-klassen, er ingenting annet enn en rekke objekter. I Java har standard-arrayen den faste lengden, så du må vite størrelsen på arrayen på forhånd. Men det kan være tilfelle at du kanskje ikke vet hvilken lengde av oppsettet du trenger til kjøretiden. Derfor innsamlede rammeverket introduserte klassen ArrayList for å overvinne dette problemet.
ArrayList har konstruktører som lager oppstillingen med sin innledende kapasitet. Selv om kapasiteten til objektet til klassen ArrayList øker automatisk når elementene legges til i arrayet, kan du likevel manuelt øke kapasiteten til objektet til ArrayList ved hjelp av metoden secureCapacity () . Det er bedre å øke kapasiteten til array først i stedet for å omfordele minnet senere. Fordi omfordeling er dyrere enn å tildele minnet samtidig.
Nøkkelforskjeller mellom liste og ArrayList
- En av de viktigste forskjellene mellom Liste og ArrayList er at listen er et grensesnitt og ArrayList er en standard samlingsklasse.
- List-grensesnittet utvider samlingsrammen, mens ArrayList utvider abstraktivlisteklassen og implementerer Liste grensesnitt.
- Navneområdet for List-grensesnittet er System.Collection.Generic mens navneområdet for ArrayList er System.Collection .
- Liste grensesnitt oppretter en samling av elementer som er lagret i en sekvens og identifiseres eller åpnes av deres indeksnummer. På den annen side oppretter ArrayList en rekke objekter der arrayet kan vokse dynamisk når det kreves.
Konklusjon:
ArrayListen overstyrer problemet med et statisk array i standard Java, dvs. at arrayet ikke kan vokse i størrelse når det er opprettet. Når en matrise er opprettet ved hjelp av ArrayList, opprettes et dynamisk array som kan vokse og krympe i størrelse når det trengs. Standard Collection Class ArrayList utvider List-grensesnittet.