ListIterator 修改数据后 next() 查看不到新添加的数据

public class ListDemo {
    public static void main(String[] args) {
        List<User> users1=new ArrayList<>();
        User u1=new User("aaa","bbb");
        User u2=new User("ccc","dddd");
        User u3=new User("ddddd","eeeee");
        users1.add(u1);
        users1.add(u2);
        users1.add(u3);
        System.out.println(users1);
        for (User user:users1) {
            System.out.println(user.sex+"  "+user.name);
        }
        //根据下标去找
        System.out.println(users1.get(1).getSex());
​​​​​​​        //找到U1对象
        System.out.println(users1.indexOf(u1));

        ListIterator it= users1.listIterator();
        while (it.hasNext()){
            User test= (User) it.next();

            if (test.getName().equals("aaa")){
                User u4=new User("qqq","www");
                it.add(u4);
返回列表中的前一个元素,并向后移动光标位置。
                it.previous();
            }
            System.out.println(test.getSex()+"  "+test.getName());
        }


       /* for (User user:users1) {
            System.out.println(user.sex+"  "+user.name);
        }*/

    }
}

 it.add(u4);

直接打印users1,是不会展示u4的,因为指针是会指向u2;,u4会在u1后面,所以会跳过u4

u1,u4,u2,u3
返回列表中的前一个元素,并向后移动光标位置。
 it.previous();

 

listiterator.add()方法会把新元素添加到listiterator当前所指位置的左边,listiterator.next()不鸟这个新来的不鸟他(不管正向还是反向都不管  previous()可以联系它,安慰它的小心心 )

https://blog.csdn.net/zr7116/article/details/84640765

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值