zoukankan      html  css  js  c++  java
  • java数组遍历——iterator和for方法

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;

    public class ArrayTest
    {
     public static void main(String[] args)
     {


      List<Integer> lstint = new ArrayList<Integer>();
      lstint.add(1);
      lstint.add(2);
      lstint.add(3);

      // Iterator遍历一
      Iterator<Integer> iterator = lstint.iterator();
      while (iterator.hasNext())
      {
       int i = (Integer) iterator.next();
       System.out.println(i);
      }

      // Iterator遍历二
      for (Iterator<Integer> it = lstint.iterator(); it.hasNext();)
      {
       int i = (Integer) it.next();
       System.out.println(i);
      }

      // for循环
      for (int i = 0; i < lstint.size(); i++)
      {
       System.out.println(lstint.get(i));
      }

      // for循环加强版
      for (Integer i : lstint)
      {
       System.out.println(i);
      }


     }


    }


     摘自  IT胖子的专栏

    对List的遍历有三种方式   
        
       List<A>    list    =    new    ArrayList<A>();   
       list.add(new    A());   
       list.add(new    A());   
       ...   
        
       第一种:   
       for(Iterator<A>    it    =    list.iterator();    it.hasNext();    )    {   
           ....   
       }   
       这种方式在循环

    执行过程中会进行数据锁定,    性能稍差,    同时,如果你想在循环过程中去掉某个元素,只能调用it.remove方法,    不能使用list.remove方法,    否则一定出并发访问的错误.   
        
       第二种:   
       for(A    a    :    list)    {   
           .....   
       }   
       内部调用第一种,    换汤不换药,    这种循环方式还有其他限制,    不建议使用它   
        
       第三种:   
       for(int    i=0;    i<list.size();    i++)    {   
           A    a    =    list.get(i);   
           ...   
       }   
       内部不锁定,    效率最高,    但是当写多线程时要考虑并发操作的问题
  • 相关阅读:
    K
    A
    2017 Multi-University Training Contest
    第一章 概述
    校赛F 比比谁更快(线段树)
    POJ 3683 Priest John's Busiest Day
    POJ 2186 Popular Cows
    第十五周讨论
    线段树模板(单点更新,区间更新,RMQ)
    2-SAT问题(白书)
  • 原文地址:https://www.cnblogs.com/future2012lg/p/2769463.html
Copyright © 2011-2022 走看看