Rekommenderas, 2024

Redaktionen

Skillnad mellan lista och ArrayList i Java

List och ArrayList är medlemmar i Collection Framework. Listan är en samling av element i en sekvens där varje element är ett objekt och element är åtkomliga av den där positionen (index). ArrayList skapar en dynamisk grupp av objekt som ökar eller minskar i storlek när det behövs. Den primära skillnaden mellan List och ArrayList är att List är ett gränssnitt och ArrayList är en klass. Låt oss studera skillnaden mellan List och ArrayList med hjälp av jämförelsetabellen som visas nedan.

Jämförelsediagram

Grunder för jämförelseListaArraylist
GrundläggandeListan är ett gränssnittArrayList är en standard samlingsklass.
Syntaxgränssnittslistaklass ArrayList
Utskjutning / ImplementeraListgränssnittet utökar samlingsramen.ArrayList utökar AbstractList och implementerar List Interface.
namespaceSystem.Collections.Generic.System.Collections.
ArbeteDet används för att skapa en lista över element (objekt) som är associerade med deras indexnummer.ArrayList används för att skapa en dynamisk array som innehåller objekt.

Definition av lista

List är ett gränssnitt som utökar samlingsramen . Listgränssnittet beskriver samlingen av element som ordnas i följd. Listgränssnittet implementeras av följande standardkollektioner som ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack . Listgränssnittet har element som är associerade med deras indexnummer. Du kan komma åt ett element i listan med dess position (index) i listan. En lista som skapats med List-gränssnittet börjar med ett nollbaserat index.

Förutom de metoder som arvs av Collection Framework, definierar List-gränssnittet också en viss metod. Metoderna som adderas av listgränssnittet är, lägg till (int, E) och addAll (int, Collection) . Dessa metoder lägger till ett element i listan enligt deras index. Metoder i listan kan kasta ett undantag som UnsupportedOperationException om metoden inte kan ändra listan. När ett objekt i en lista är inkompatibelt med ett annat objekt i listan, kastas ClassCastException.Nollelement är inte tillåtna i listan om du försöker infoga ett nullobjekt i listan, kastas NullPointerException .

Du kan få ett element från listan med get () -metoden. Du kan ange värdet för ett element i listan med set () -metoden. Du kan också få dellistan från listan med hjälp av en metodunderlista () . Det blir bekvämt att använda på dellistan istället för en lista.

Definition av ArrayList

En av standardkollektionsklasserna är ArrayList som sträcker sig AbstractList- klassen och implementerar även listgränssnittet. ArrayList-klassen används för att skapa de dynamiska arrangemang som växer och krympas när det behövs. Listan som skapats med klassen ArrayList är ingenting annat än en rad objekt. I Java har standardmatrisen den fasta längden, så du måste veta storleken på matrisen i förväg. Men det kan vara så att du kanske inte vet vilken längd av matrisen du behöver fram till körtiden. Därför introducerade samlingsramen ArrayList-klassen för att övervinna denna fråga.

ArrayList har konstruktörer som skapar arrayen med sin initiala kapacitet. Även om kapaciteten för objektet i klass ArrayList ökar automatiskt när element läggs till i arrayen, kan du fortfarande öka kapaciteten hos objektet ArrayList med metoden secureCapacity () . Det är bättre att öka kapaciteten hos array i början istället för att omfördela minnet senare. Eftersom omfördelningen är dyrare än att allokera minnet på en gång.

Viktiga skillnader mellan lista och ArrayList

  1. En av de viktigaste skillnaderna mellan List och ArrayList är att listan är ett gränssnitt och ArrayList är en standard Collection- klass .
  2. Listgränssnittet utökar samlingsramen medan ArrayList utökar AbstractList- klassen och implementerar listgränssnitt.
  3. Namnutrymmet för List-gränssnittet är System.Collection.Generic medan namnrymden för ArrayList är System.Collection .
  4. Listgränssnitt skapar en samling element som lagras i en sekvens och identifieras eller nås av deras indexnummer. Å andra sidan skapar ArrayList en rad objekt där matrisen kan växa dynamiskt vid behov.

Slutsats:

ArrayList övervinner problemet med en statisk array i standard Java, dvs arrayen kan inte växa i storlek när den är skapad. När en array skapas med ArrayList skapas en dynamisk grupp som kan växa och krympa i storlek när det behövs. Standardsamlingsklass ArrayList utökar listgränssnittet.

Top