Java 8 容器源码-LinkedList与迭代器模式

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】
免费领取10G资料包与项目实战视频资料

作者:潘威威 出处: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) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » Java 8 容器源码-LinkedList与迭代器模式

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏