Bootstrap

ListIterator迭代器

ListIterator继承了Iterator接口,相比于Iterator功能更强大,不过ListIterator只能处理List类型集合

List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
        list.add("eee");
        ListIterator<String> lit = list.listIterator();

        while (lit.hasNext()){//hasNext() 迭代器还有元素返回true
            int a =lit.nextIndex();//获取下一个元素下标
            int b = lit.previousIndex();//获取前一个元素下标

            /**
             * next向下遍历 previous向上遍历 (向上遍历一个元素后再向下遍历,将会从当前位置继续向下遍历,eg:迭代器位置在list的“ccc” previous向前遍历一个元素到“bbb",那么再向下遍历事将会被从bbb开始
             */
            String str = lit.next();//获取下一个元素
            String str1 = lit.previous();//获取上一个元素 

//            lit.remove();//移除当前元素
//            lit.add("test");//在当前元素后面添加一个元素
            if ("bbb".equals(str)){
                lit.set("test");//给当前元素重新赋值
            }
        }
        lit = list.listIterator(0);//重新指定迭代器开始位置
        while (lit.hasNext()){
            System.out.println(lit.next());
        }

 

;