Видео: Разлика между изброяване и итератор
2024 Автор: Mildred Bawerman | [email protected]. Последно модифициран: 2023-12-16 08:37
Изброяване срещу Iterator
Има много структури от данни, които действат като колекции в Java, като вектори, таблици на хеш и класове, които прилагат Java Collections Framework (т.е. HashMap, HashSet, ArrayList, TreeSet, TreeMap, LinkedList, LinkedHashMap и LinkedHashSet). Има многобройни начини за итерация през отделните елементи на обектите в Java. Java предоставя два интерфейса, за да улесни тази задача. Изброяването и Итераторът са два от интерфейсите, намерени в пакета java.util, които осигуряват функционалност за изброяване чрез последователности или обекти с набор от елементи. Enumerator е въведен в JDK 1.0, а Iterator, който е въведен в JDK 1.2, практически дублира функционалността на Enumerator (в рамките на Collections Framework).
Какво е изброяване?
Изброяването е публичен интерфейс в Java, въведен в JDK 1.0, който предоставя възможност за изброяване чрез последователности от елементи. Той се намира под пакета java.util. Когато интерфейсът за изброяване е реализиран от обект, този обект може да генерира последователност от елементи. Интерфейсът за изброяване има два метода. Методът hasMoreElements () ще провери дали това изброяване съдържа повече елементи и nextElement () връща следващия елемент в последователността (ако има поне още един). С други думи, чрез последователно извикване на nextElement () програмистът може да осъществи достъп до отделните елементи в поредицата. Например, за да отпечатате всички елементи във Vector v1 с помощта на Enumerator, може да се използва следният кодов фрагмент.
Изброяване e = v1.elements ();
Докато (e.hasMoreLements ()) {
System.out.println (e.nextElement ());
}
Преброителят може също да се използва за дефиниране на потока от входни данни към SequenceInputStream обекти.
Какво е Iterator?
Iterator е публичен интерфейс в пакета Java.util, който позволява итерация през елементи на обектите на колекции, които реализират рамката на колекциите (като ArrayList, LinkedList и др.). Това беше въведено в JDK 1.2 и замени Enumerator в рамките на Java Collections Framework. Iterator има три метода. Методът hasNext () проверява дали има останали елементи в колекцията и методът next () връща следващия елемент от поредицата. Методът remove () може да се използва за премахване на текущия елемент от основната колекция. Например, за да отпечатате всички елементи във Vector v1 с помощта на Iterator, може да се използва следният кодов фрагмент.
Итератор i = v1.elements ();
Докато (i.hasNext ()) {
System.out.println (e.next ());
}
Каква е разликата между изброяване и итератор?
Въпреки че Enumeration и Iterator са два от интерфейсите, намерени в пакета java.util, които позволяват итерация / изброяване през елементи от поредица, те имат своите разлики. Всъщност Iterator, който беше въведен след Enumeration, замества Enumeration в рамките на Java Collections. За разлика от Enumeration, Iterator е безопасен за работа. Това означава, че едновременните модификации (на основната колекция) не са разрешени, когато се използва Iterator. Това е много полезно в многонишкови среди, където винаги съществува риск от едновременни модификации. В случай на едновременна модификация, обектът Iterator ще хвърли ConcurrentModificationException. Iterator има по-кратки имена на методи в сравнение с Enumerator. Освен това,iterator има допълнителната функционалност за изтриване на елементи по време на итерацията (което не е възможно с Enumerator). Така че, ако има нужда от премахване на елементи от колекцията, Iterator е единствената опция, която може да се има предвид.
Препоръчано:
Разлика между конфликт между роли и напрежение на ролята
Конфликт между роли и напрежение на ролята Всеки човек има редица роли в личния и професионалния си живот. Човек може да трябва да играе номер
Разлика между ЕМП и потенциална разлика
EMF срещу потенциална разлика (електромоторна сила) се използват за описване на два различни параметъра между две точки. Терминът „потенциална разлика“е ге
Разлика между фазовата разлика и разликата в пътя
Фазова разлика спрямо разликата в пътя Разликата във фазата и разликата в пътя са две много важни концепции в оптиката. Тези явления се наблюдават по проблемите на
Разлика между потенциалната разлика и напрежението
Потенциална разлика спрямо напрежение Потенциалната разлика и напрежението са два термина, използвани в инженерството, за да опишат разлика в потенциала в две точки
Разлика между ключовата разлика между металните и неметалните минерали
Ключова разлика - метални срещу неметални минерали Минералът е естествено срещаща се твърда и неорганична съставка с определена химическа формула и