我是靠谱客的博主 大意睫毛,最近开发中收集的这篇文章主要介绍关于ListIterator的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需要的注意点:

1.

正向遍历不需要传入数组长度值,反向遍历需要传入list的数组长度(迭代器指针指向最后一个位置)

2.

反向遍历,调用previous()获取元素,下标不会加1操作;

正向遍历,调用next()获取元素,下标会加1操作;

3.

previousIndex()获取的是上一个元素的下标,nextIndex()获取的是当前元素的下标(不是下一个元素的下标)

List<String> list = new ArrayList<String>();
        list.add("s");
        list.add("j");
        list.add("y");
        // 正向遍历--不需要传入list的数组长度
        // 反向遍历--要传入list的数组长度(迭代器指针指向最后一个位置)
        ListIterator<String> listIterator1 = list.listIterator(list.size());
        while (listIterator1.hasPrevious()) {
            // 反向遍历,调用previous()获取元素,下标不会加1操作
            // 正向遍历,调用next()获取元素,下标会加1操作
            String previous = listIterator1.previous();
            if ("j".equals(previous)) {
                System.out.println(listIterator1.nextIndex()); // 输出1
                System.out.println(listIterator1.previousIndex()); // 输出0
            }
        }
        ListIterator<String> listIterator2 = list.listIterator();
        while (listIterator2.hasNext()) {
            // 一旦调用next()方法,下标位置会加1
            String next = listIterator2.next();
            if ("j".equals(next)) {
                // 获取next元素下一个元素的下标
                // 当前已调用next方法,所以下标已经加1,而nextIndex返回的为当前下标(可通过源码查看,next不是下一个,而是当前下标)
                System.out.println(listIterator2.nextIndex()); // 输出2
                // 获取next元素的下标(当前已调用next方法,所以下标已经加1, 通过previousIndex获取上一个下标)
                System.out.println(listIterator2.previousIndex());; // 输出1
            }
        }

最后

以上就是大意睫毛为你收集整理的关于ListIterator的用法的全部内容,希望文章能够帮你解决关于ListIterator的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部