遍历的三种方式

Java中遍历的三种方式:普通for循环、增强型for循环、迭代方式。

一、普通For循环

1、遍历 

      List<String> set = new ArrayList<String>();
        set.add("张三");
        set.add("李四");
         for(int i=0;i<set.size();i++){
               System.out.println(set.get(i));
             }

输出:

张三
李四

2、修改或删除元素

        // 只有使用普通for循环可以删除元素
         for(int i=0;i<set.size();i++){
           if(i==1) {
             set.remove(i);
          }
         }

输出:

张三

特点:

1、可以获取具体位置的元素

2、可以在遍历的同时修改或者删除元素

二、增强型For循环

1、遍历

        for (String s : set) {
            System.out.println(s);
        }

输出:

张三
李四

2、遍历时不能删除元素

        //遍历时不能删除元素
        for(String s:set){
            if("李四".equals(s)){
                set.remove(s);
            }
        }

报错信息:

Exception in thread "main" java.util.ConcurrentModificationException

3、迭代器遍历

1、遍历

          Iterator<String> m = set.iterator();
          Iterator<String> n = set.iterator();
          while(m.hasNext()){
              System.out.println(m.next());
          }

输出:

张三

李四

2、使用迭代器的remove方法删除

          while(n.hasNext()){
              if("李四".equals(n.next())){
                  n.remove();
              }
          }
            for (String s : set) {
                System.out.println(s);
            }

输出:

张三

备注:使用不同的两个遍历器m和n,是因为发现迭代器只能使用一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值