forskel mellem Iterator og Enumeration Interface i Java

Iterator vs Enumerationde tre markører, der bruges til at få adgang til elementerne fra enhver samling en efter en er Enumeration, Iterator og ListIterator. Selvom Iterator og Enumerator er beregnet til at udføre det samme arbejde. Alligevel adskiller de sig fra hinanden i en forstand, at optælling har skrivebeskyttet adgang til elementerne i samlingen. På den anden side kan Iterator læse såvel som fjerne elementerne fra samlingen.

den vigtige forskel mellem Iterator og optælling er, at optællingen ikke kan anvendes på indsamlingsklasserne, den er kun anvendelig på ældre klasser. På den anden side, Iteratoren gælder for indsamlingsklasserne, derfor kaldes den som en universel markør. Lad os lære noget mere forskel mellem Iterator og optælling ved hjælp af sammenligningsdiagrammet vist nedenfor.

indhold: Iterator Vs tælling

  1. sammenligningskort
  2. Definition
  3. nøgleforskelle
  4. konklusion

sammenligningskort

sammenligningsgrundlag Iterator optælling
Basic Iterator er en universel markør, da den gælder for alle samlingsklasser. tælling er ikke en universel markør, da den kun gælder for ældre klasser.
adgang ved hjælp af Iterator kan du læse og fjerne elementerne i samlingen. ved hjælp af Enumeration kan du kun læse elementerne i samlingen.
metoder offentlig boolsk hasnæste ();
offentlige objekter næste();
offentlig ugyldig fjernelse();
offentlig boolsk hasmoreelementer ();
offentlig objekt næste element();
begrænsning Iterator er en ensrettet fremadadgangsmarkør.
Iterator kan ikke erstatte noget element i samlingen.
Iterator kan ikke tilføje noget nyt element i samlingen.
tælling er envejs fremadadgangsmarkør.
optælling understøtter kun legacy klasser.
tælling har kun skrivebeskyttet adgang til elementerne i en samling.
overvinde for at overvinde begrænsningerne i Iterator skal du vælge ListIterator. for at overvinde begrænsningerne i optælling skal du vælge Iterator.

Definition af Iterator Interface

Iterator er en grænseflade i indsamlingsrammen. Da Iterator gælder for alle indsamlingsklasser, kaldes den som en universel markør. Det er markøren, der bruges til at få adgang til elementerne i samlingen en efter en. Ved hjælp af Iterator kan du hente elementerne fra samlingen, og hvis du vil, kan du også fjerne elementerne fra samlingen. Formålet med Iterator kan oprettes som angivet nedenfor.

Iterator itr = Collc.iterator();

variablen ITR er et objekt af Iterator. Collc er ethvert samlingsobjekt, der skal cykles eller gentages ved hjælp af Iteratorens objekt (itr). Iteratoren () er den metode, der bruges til at oprette et iteratorobjekt. Der er tre metoder i Iteratoren som vist nedenfor.

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

den første metode harnæste() kontrollerer, om samlingen har elementer i den eller ej. Hvis samlingen har elementerne, vil den returnere sand ellers vil returnere falsk. Den anden metode næste () bruges til at hente det næste element i samlingen. Den tredje metode fjern () bruges til at slette elementerne fra samlingen.

Iterator kan rejse i en samling kun i fremadretningen, den kan ikke bevæge sig tilbage under rejsen. Iterator kan fjerne elementet fra samlingen, men har ikke evnen til at erstatte et eksisterende element med et nyt element, og det kan heller ikke tilføje noget nyt element i samlingen. For at overvinde disse begrænsninger kan du gå til ListIterator interface.

Definition af Tællingsgrænseflade

tælling er den grænseflade, der gælder for ældre klasser, og den kan ikke anvendes på nogen indsamlingsklasse. Derfor er det ikke en universel markør. Enumeration henter elementet (objektet) fra samlingen en efter en. Tælleobjekt har skrivebeskyttet adgang til elementerne i samlingen. Optælling objekt kan ikke ændre noget element fra samlingen. Lad os se, hvordan du opretter enumeration objekt, har et kig.

Enumeration er = Vect.elements();

variablen er er genstand for opregning. Vect er genstanden for vektorklassen, der skal krydses af objektets (er) tælling. Metodeelementet () bruges til at oprette et objekt til opregning. Der er kun to metoder i Tællingsgrænsefladen som vist nedenfor.

public boolean hasMoreElements();public nextElement();

den første metode harmoreelements() bruges til at kontrollere status for samlingen, om den har elementerne i den eller den er tom. Hvis samlingen har elementerne, returnerer metoden hasMoreElements () true else return false. Den anden metode næsteelement () bruges til at hente elementerne fra samlingen en efter en.

når krydsning er afsluttet, kaster den næsteelementmetode() Nosuchelementundtagelse. Optællingsobjektet bevæger sig kun i fremadgående retning. Det kan ikke tilføje eller fjerne eller erstatte noget element i samlingen. For at overvinde disse begrænsninger i optællingen skal du vælge Iterator.

nøgleforskelle mellem Iterator og optælling i Java

  1. hovedforskellen mellem Iterator og optælling er, at Iterator er en universel markør, der kan bruges til at gentage ethvert samlingsobjekt. På den anden side, optællingen bruges kun til at krydse objekt af arvsklasse.
  2. Optællingsobjekt har kun skrivebeskyttet adgang til elementerne i samlingen. Imidlertid kan genstanden for Iterator læse og fjerne elementerne fra samlingen.
  3. der er to metoder til iterator en til at kontrollere status for indsamling og en til at hente elementerne fra samlingen. Ud over Optællingsmetoder har Iterator endnu en metode til at fjerne elementerne fra samlingen.
  4. begrænsninger af optælling er det er fremadrettet ensrettet markør, det har skrivebeskyttet adgang, og det kan anvendes til samlingen klasser. På den anden måde kan Iterator ikke erstatte eller tilføje noget nyt element i samlingen og lignende optælling dens også fremadrettet ensrettet markør.
  5. begrænsning af optælling løses af Iterator, og begrænsninger af Iterator løses af ListIterator.

konklusion

i dag bruges Iterator og ListItertaor-markør, da de er den universelle markør og er meget effektive end optælling.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.