package com.shrimpking.t10;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Shrimpking
 * @create 2024/9/9 17:05
 */
public class UseListIterator
{
    public static void main(String[] args)
    {
        List<Integer> list = new ArrayList<>();
        list.addAll(Arrays.asList(11,22,33,44,55));

        ListIterator<Integer> it = list.listIterator();
        //正向遍历
        System.out.println("Use Next Method:");
        while (it.hasNext()){
            System.out.print(it.next() + " ");
        }
        System.out.println();

        //逆向遍历
        System.out.println("Use Previous Method:");
        while (it.hasPrevious()){
            System.out.print(it.previous() + " ");
        }
        System.out.println();

        System.out.println("后续调用next方法返回的元素索引=" + it.nextIndex());
        System.out.println("next方法返回的元素=" + it.next());

        //现在迭代器的位置是列表第一个元素和第二个元素之间
        //调用add方法,把111添加到第二个元素之前,成为第二个元素
        it.add(111);

        //pervious返回前一个元素,即第二个元素 111
        System.out.println("现在第二个元素=" + it.previous());

        //next返回下一个元素,即第二个元素 111
        System.out.println("next方法返回的元素是=" + it.next());

        //next返回下一个元素,即第三个元素 22
        System.out.println("现在第三个元素=" + it.next());
    }
}