2021-05-03 19:31  阅读(136)
文章分类:Java 8 容器源码 文章标签:JavaJava 容器源码
©  原文作者:潘威威 原文地址:https://blog.csdn.net/panweiwei1994

迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象中的各个元素,而不用暴露这个对象的内部表示。在Java中,LinkedList的迭代器有三种:Iterator、ListIterator、DescendingIterator。其中DescendingIterator与Iterator只能单向遍历,遍历的方向相反。而ListIterator可以双向遍历。

DescendingIterator

        /**
         * Adapter to provide descending iterators via ListItr.previous
         */
        private class DescendingIterator implements Iterator<E> {
            private final ListItr itr = new ListItr(size());
            public boolean hasNext() {
                return itr.hasPrevious();
            }
            public E next() {
                return itr.previous();
            }
            public void remove() {
                itr.remove();
            }
        }
    

本文不涉及迭代器具体方法的实现细节,只讲迭代器模式在LinkedList源码中的使用。而迭代器模式在LinkedList源码中的使用和在ArrayList和Vector中的使用是非常类似的,只是next()等等方法的实现细节不同而已。所以本文就不详细讲解了,请大家参考ArrayList与迭代器模式Vector与迭代器模式两篇文章。

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 8 容器源码-LinkedList与迭代器模式
上一篇
Java 8 容器源码-LinkedList
下一篇
Java 8 容器源码-Stack