skillnad mellan Iterator och Enumeration Interface i Java

iterator vs Enumerationde tre markörer som används för att komma åt elementen från en samling en efter en är Enumeration, Iterator och ListIterator. Men Iterator och Enumerator är avsedda för att utföra samma arbete. Ändå skiljer de sig från varandra i en mening att uppräkning har skrivskyddad åtkomst till elementen i samlingen. På andra sidan kan Iterator läsa såväl som ta bort elementen från samlingen.

den viktiga skillnaden mellan Iterator och uppräkning är att uppräkningen inte kan tillämpas på insamlingsklasserna, den är endast tillämplig på äldre klasser. Å andra sidan är Iteratorn tillämplig på insamlingsklasserna, därför kallas den som en universell markör. Låt oss lära oss lite mer Skillnad mellan Iterator och uppräkning med hjälp av jämförelsediagrammet som visas nedan.

innehåll: Iterator Vs uppräkning

  1. jämförelsetabell
  2. Definition
  3. viktiga skillnader
  4. slutsats

jämförelsetabell

grund för jämförelse Iterator uppräkning
Basic Iterator är en universell markör eftersom den är tillämplig för alla insamlingsklasser. uppräkning är inte en universell markör eftersom den endast gäller äldre klasser.
åtkomst med Iterator kan du läsa och ta bort elementen i samlingen. använda uppräkning du kan bara läsa elementen i samlingen.
metoder public boolean hasnext ();
public objects nästa();
public void ta bort();
public boolean hasmerelements ();
public object nextElement();
begränsning Iterator är en enkelriktad framåtriktad markör.
Iterator kan inte ersätta något element i samlingen.
Iterator kan inte lägga till något nytt element i samlingen.
uppräkning är enkelriktad framåtåtkomstmarkör.
uppräkning stöder endast äldre klasser.
uppräkning har endast skrivskyddad åtkomst till elementen i en samling.
övervinna för att övervinna begränsningarna i Iterator måste du välja ListIterator. för att övervinna begränsningarna för uppräkning måste du välja Iterator.

Definition av Iterator Interface

Iterator är ett gränssnitt i samlingsramen. Som Iterator är tillämplig på alla insamlingsklasser, det kallas en universell markör. Det är markören som används för att komma åt elementen i samlingen en efter en. Med Iterator kan du hämta elementen från samlingen och om du vill kan du också ta bort elementen från samlingen. Syftet med Iterator kan skapas enligt nedan.

Iterator itr = Collc.iterator();

variabeln itr är ett objekt för Iterator. Collc är ett samlingsobjekt som ska cyklas eller itereras med hjälp av Iteratorns objekt (itr). Iteratorn () är den metod som används för att skapa ett iteratorobjekt. Det finns tre metoder i Iteratorn som visas nedan.

public boolean hasnext();public Object next();public void remove();

den första metoden harnästa() kontrollerar om samlingen har några element i den eller inte. Om samlingen har elementen kommer den att returnera true else kommer att returnera false. Den andra metoden next () används för att hämta nästa element i samlingen. Den tredje metoden remove () används för att ta bort elementen från samlingen.

Iterator kan resa i en samling endast i framåtriktningen det kan inte röra sig tillbaka när du reser. Iterator kan ta bort elementet från samlingen men har inte möjlighet att ersätta ett befintligt element med ett nytt element, och det kan inte heller lägga till något nytt element i samlingen. För att övervinna dessa begränsningar kan du gå till ListIterator gränssnitt.

definition av Enumeration Interface

Enumeration är gränssnittet gäller för de äldre klasserna, och det kan inte tillämpas på någon samling klass. Därför är det inte en universell markör. Uppräkning hämtar elementet (objektet) från samlingen en efter en. Uppräkningsobjekt har skrivskyddad åtkomst till elementen i samlingen. Uppräkning objekt kan inte ändra något element från samlingen. Låt oss se hur man skapar uppräkningsobjekt, ta en titt.

Enumeration er = Vect.elements();

variabeln er är ett objekt för uppräkning. Vekten är föremålet för vektorklassen som måste korsas av objektet (er) för uppräkning. Metodelementet () används för att skapa ett objekt för uppräkning. Det finns bara två metoder i Uppräkningsgränssnittet som visas nedan.

public boolean hasMoreElements();public nextElement();

den första metoden hasMoreElements () används för att kontrollera status för samlingen om den har elementen i den eller den är tom. Om samlingen har elementen har metoden hasMoreElements () return true else return false. Den andra metoden nextElement() används för att hämta elementen från samlingen en efter en.

när traversering är klar nextelement () metoden kastar NoSuchElementException. Uppräkningsobjektet färdas endast i framåtriktningen. Det kan inte lägga till eller ta bort eller ersätta något element i samlingen. För att övervinna dessa begränsningar i uppräkningen måste du välja Iterator.

viktiga skillnader mellan Iterator och uppräkning i Java

  1. huvudskillnaden mellan Iterator och uppräkning är att Iterator är en universell markör, kan användas för att iteratera alla samlingsobjekt. Å andra sidan används uppräkningen endast för att korsa objekt av äldre klass.
  2. Uppräkningsobjekt har endast skrivskyddad åtkomst till elementen i samlingen. Objektet med Iterator kan dock läsa och ta bort elementen från samlingen.
  3. det finns två metoder för iterator en för att kontrollera status för insamling och en för att hämta elementen från samlingen. Förutom Uppräkningsmetoder har Iterator ytterligare en metod för att ta bort elementen från samlingen.
  4. begränsningar för uppräkning är att det är framåtriktad markör, den har skrivskyddad åtkomst och den kan tillämpas på insamlingsklasserna. Å andra sidan kan Iterator inte ersätta eller lägga till något nytt element i samlingen och som uppräkning dess också framåt enkelriktad markör.
  5. begränsning av uppräkning löses av Iterator och begränsningar av Iterator löses av ListIterator.

slutsats

numera används Iterator och ListItertaor cursor eftersom de är universalmarkören och är mycket effektiva än uppräkning.

Lämna ett svar

Din e-postadress kommer inte publiceras.