Skillnaden mellan lista och ArrayList i Java

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 15 Maj 2024
Anonim
Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.
Video: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.

Innehåll


Lista och ArrayList är medlemmarna i samlingsramen. Lista är en samling av element i en sekvens där varje element är ett objekt och elementen åtkomst därifrån (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 den Lista är ett gränssnitt och Arraylist är en klass. Låt oss studera skillnaden mellan Lista och ArrayList med hjälp av jämförelsediagram som visas nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelseListaArraylist
GrundläggandeListan är ett gränssnittArrayList är en standardsamlingsklass.
Syntaxgränssnittslistaklass ArrayList
Utskjutning / ImplementeraListgränssnittet utökar Collection Framework.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 matris som innehåller objekt.


Definition av lista

Listan är en gränssnitt som utvidgar Samling ramverk. Listgränssnittet beskriver samlingen av element som är ordnade i följd. Listgränssnittet implementeras av följande standardsamlingsklasser som ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Listgränssnittet har element som är associerade med deras indexnummer. Du kan komma åt ett element i listan genom dess position (index) i listan. En lista skapad med listgränssnittet börjar med ett nollbaserat index.

Förutom de metoder som ärvts i samlingsramen, definierar listgränssnittet också någon egen metod. De metoder som läggs till i listgränssnittet är, lägg till (int, E) och addAll (int, Collection). Dessa metoder lägger till ett element i listan efter 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 oförenligt med ett annat objekt i listan, då ClassCastException kastas. Nollelement är inte tillåtna i listan om du försöker infoga ett nollobjekt i listan, NullPointerException kastas.


Du kan få ett element från listan med skaffa sig() metod. Du kan ställa in värdet på ett element i listan med uppsättning() metod. Du kan också hämta underlistan från listan med en metod underlista (). Det blir bekvämt att använda sublist istället för en lista.

Definition av ArrayList

En av de vanliga samlingarna är ArrayList som sträcker sig AbstractList klass och implementerar också Lista gränssnitt. Klassen ArrayList används för att skapa dynamiska matriser som växer och krymper när det behövs. Listan som skapats med ArrayList-klassen är inget annat än arrayen av 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 på matrisen du behöver förrän körtiden. Därför introducerade Collection-ramverket ArrayList-klassen för att övervinna denna fråga.

ArrayList har konstruktörer som skapar matrisen med dess intima kapacitet. Även om kapaciteten för objektet i klass ArrayList ökar automatiskt när element läggs till i arrayen, kan du fortfarande manuellt öka kapaciteten för ArrayList-objektet med metoden ensureCapacity (). Det är bättre att först öka kapaciteten för matris istället för att omfördela minnet senare. Eftersom omfördelning är dyrare än att tilldela minnet på en gång.

  1. En av de viktigaste skillnaderna mellan Lista och ArrayList är att listan är en gränssnitt och ArrayList är en standardsamling klass.
  2. Listgränssnittet utökar Samling ram medan ArrayList utvidgas AbstractList Klass och det implementerar Lista gränssnitt.
  3. Namnområdet för listgränssnittet är System.Collection.Generic Medan namnområdet för ArrayList är System.Collection.
  4. Listgränssnitt skapar en samling element som lagras i en sekvens och identifieras eller nås med deras indexnummer. Å andra sidan skapar ArrayList en rad objekt där matrisen kan växa dynamiskt när det behövs.

Slutsats:

ArrayList övervinner frågan om en statisk matris i standard Java, dvs arrayen kan inte växa i storlek när den har skapats. När en matris skapas med ArrayList skapas en dynamisk matris som kan växa och krympa i storlek vid behov. Den vanliga samlingsklassen ArrayList utökar listgränssnittet.