java中Iterator和for的比较

java中for和Iterator比较:

Iterator接口也是java集合框架的成员,但是与Collection系列,Map集合系列的集合不同。Collection系列集合,Map系列集合主要用于盛装其他对象,而Iterator则主要用于遍历(即迭代访问)Collection集合中的元素,Iterator对象也被称为迭代器。
迭代器是一种设计模式,它是一个对象,可以遍历并选择序列中的对象。
Iterator接口里定义了如下4个方法:
–boolean hasNext():如果被迭代的集合中元素没有被遍历,返回true
–object next():返回集合下一个元素
–void remove():删除集合里上一次next方法返回的元素
–void forEachRemaining

如下demo
public class IntertorDemo {

public static void main(String[] args){
    //创建,添加元素的代码与前一个程序相同
    Collection books = new HashSet();
    books.add("12");
    books.add("34");
    books.add("75");
    Iterator iterator = books.iterator();
    while (iterator.hasNext()){
        //it.next()方法返回的数据类型是object类型,需要强制转换
        String book = (String)iterator.next();
        System.out.println(book);
        if (book.equals("34")) {
            iterator.remove();
            }
        book="66";
      }
     System.out.println(books);
}

}  

打印出来的结果如下:
12
34
75
[12, 75]

附加:

存储的方式有两种:顺序存储、链接存储。
对于顺序存储的的记录可以根据下标找到对应的记录,对于链接存储要找到前一个位置才能找到本记录。

#所以for循环便于访问顺序存储的记录,比如数组,迭代器更适用于链接存储的记录。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值