Охват и отношения итератора и списков:
(1) Итератор можно использовать для реализации списка итеративных интерфейсов ArrayList, LinkedList, Map и т. Д.
(2) ListIterator, как следует из названия, используется для выполнения списка для реализации ArrayList и LinkedList.
(3) Как видно из исходного кода или документации по API, итератор является родительским классом Listiceterator.
Public Interface ListiceTerator <e> Extends iterator <e> {// Опустить ...}Новые методы были добавлены в ListerIterator.
Анализ экземпляра итератора неявного курсора:
Как показано на приведенном выше рисунке, в списке сборов есть четыре элемента A, B, C, D, к которому итератор для итерации. Когда вызывается метод xxx.iterator () или xxx.listiterator (),
Итератор указывает на положение итератора_one, и когда вызывается метод xxx.next (), позиция итератора указывает на позицию итератора_two.
Положение, на которое указывает итератор, не противоположна элементу, а между элементами.
Методы в итераторе и ListerIterator:
------ Метод в итераторе:
Резюме официальных методов API:
Анализ метода:
hasnext (): определяет, есть ли элемент в следующей позиции, указанном итератором элемента в коллекции. Вернуть True, в противном случае вернуть ложь
Next (): возвращает значение следующего элемента в положении, указанном итератором.
удалить (): удалить значение, удаленное итератором через итератор.
------ Метод в ListerIterator:
Резюме официальных методов API:
Анализ метода:
Добавить (EE): вставьте указанный элемент в коллекцию. Положение вставки связана с последней операцией Next () или предыдущего () метода.
Если последняя операция состоит из следующей (), элемент вставляется после удаления элемента следующим, и если он будет предыдущим (), элемент вставляется до удаления элемента.
HasNext (): Когда набор пересекается в положительном порядке, он определяет, существует ли следующий элемент, на который указан неявный курсор. Если он существует, он возвращает истинность, в противном случае он возвращает false.
hasprevious (): Когда набор проходит обратно, он определяет, существует ли предыдущий элемент неявного курсора. Если он существует, он возвращает истинность, в противном случае он возвращает false.
Next (): возвращает следующее значение элемента в положении, указанном неявным курсором.
NextIndex (): возвращает значение индекса следующего элемента в положении, указанном неявным курсором.
Предыдущий (): возвращает предыдущее значение элемента в положении, указанном неявным курсором.
Предыдущий index (): возвращает значение индекса предыдущего элемента позиции, указанное неявным курсором.
remove (): Удаление элементов из коллекции - это не удаление всех элементов, а для удаления элементов, возвращаемых последней операцией Next () или предыдущего ().
Если Next () или предыдущий () не возвращает значение, будет сообщена ошибка.
SET (EE): замените элемент, возвращаемый Next () или предыдущий () на E из списка. Например, если Next () вынужден как A, вы можете заменить A на один по набору.
Пример 1:
Пакет com.lanhuigu.java; import java.util.arraylist; import java.util.list; import java.util.listiterator; public class listiceTeratorApitest {public static void main (string [] args) {list> list = new ArrayList <String> (); list.Add ("a"); list.Add ("b"); list.Add ("c"); list.add ("d"); // На данный момент итератор указывает на позицию итератор_она. ListIterator.next (); // удалить элементы listiceTerator.remove (); // Удалить элемент, полученный в следующем. В настоящее время A был удален из коллекции. Добавить element // listiceTerator.previous (); ListIterator.Add ("e"); // Перед указанием на позицию iterator_two это предыдущая позиция // Печать элемента, полученного следующим. System.out.println ("FirstElement:" + FirstElement); // Унидифицируют позицию указания в позицию итератор_one, но A не был удален, и добавить E ListIterator = list.ListIterator (); while (listicerator.hasnext ()) {System.out.println(listIterator.next());}System.out.println("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ list.listiterator ();Пример 2:
Пакет com.lanhuigu.java; import java.util.arraylist; import java.util.iterator; import java.util.list; import java.util.listiterator; public class iteratorapitest {public static void main (string [] args) {список <строка> = новый Arraylist <string> (); list.add ("a"); list.add ("b"); list.add ("c"); list.add ("d"); // Первый способ пересечения набора-напрямую пройти через операторы цикла (для, do-while, while) // для (строка e: list) {System.out.println (e);} system.out.println ("--------------------"); // Второй способ пересечь набор (итератор) итератор <string> iterator = list.iterator (); while (iterator.hasnext ()) {system.out.println (iterator.next ());} System.out.println ("-----------------------------"); // третий способ пройти набор (ListIterator) listIterator <string> listiterator = list.ListIterator (); while (listicetrator.hasnext ()) {system.out.println (listicetrator.next ());} system.out.println ("-------------------");}}Суммировать
Выше приведено подробное объяснение примеров итератора и списков в Java. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!