遍历的三种方式

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,是因为发现迭代器只能使用一次。

猜你喜欢

转载自passion99.iteye.com/blog/2341336