迭代器:Iterator 与 ListIterator

迭代器:用于遍历集合,从集合中取数据;
java中的迭代器说简单点就是为了计数用的,包括递归也是的,都是用于集合中的;

	ArrayList<Integer> list = new ArrayList<>();
    	list.add(1);
    	list.add(2);
    	list.add(3);
    	list.add(4);
    	list.add(5);
    /** java.util.Iterator<Integer> iterator = list.iterator();

	while (iterator.hasNext()){
        Integer i = iterator.next();
        System.out.println(i);
    }

    iterator.next();
    iterator.remove();
    System.out.println(list.size());
     */
    ListIterator<Integer> iterator = list.listIterator();
    //像数组内添加元素100
    iterator.add(100);
    //将指针向下移两格
    iterator.next();
    iterator.next();
    //指针移到指定位置后,设置值
    iterator.set(200);
    iterator.previous();
    //打印添加后的数组内元素
    System.out.println(list.size());
    //将指针向上移两格
    iterator.previous();
    iterator.previous();
    //打印列表的元素
    while (iterator.hasNext()){
        System.out.println(iterator.next());
    }
}

注意:

1. iterator比较通用,包括set和map方法中也可以,而ListIterator只能用于list集合中。

2..  当使用iterator时,操作增加的时候,因为iterator是单向的,查询的时候会从开始出查询,忽然之间你增加了一个改变了位置,它就不知道了;
而另一种方式ListIterator,nextIndex()方法和previousIndex()方法可以当前定位索引功能,再具体的位置后面进行添加。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值