1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
      <output id="hzk7v"></output>
    2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
    3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

      Java中List集合的遍历实例详解

       更新时间£º2019年04月24日 11:24:18   作者£ºQH_JAVA   我要评论

      这篇文章主要介绍了Java中List集合遍历实例详解£¬文中通过示例代码介绍的非常详细£¬对大家的学习或者工作具有一定的参考学习价值£¬需要的朋友们下面随着小编来一起学习学习吧

       一¡¢对List的遍历有三种方式  

       List<String>  list  =  new  ArrayList<String>();  
        list.add("testone");  
        list.add(¡°testtwo¡±);  
        ...  

      第一种:

      for(Iterator<String>  it  =  list.iterator();  it.hasNext();  )  {  
          ....  
        } 

      这种方式在循环执行过程中会进行数据锁定,    性能稍差,    同时,如果你想在寻欢过程中去掉某个元素,只能调用it.remove方法,    不能使用list.remove方法,    否则一定出现并发访问的错误.   

      第二种:  

       for(String  data  :  list)  {  
          .....  
        } 

      内部调用第一种,    换汤不换药,  因此比Iterator 慢,这种循环方式还有其他限制, 不建议使用它¡£

      第三种:  

       for(int  i=0;  i<list.size();  i++)  {  
          A  a  =  list.get(i);  
          ...  
        }  

      内部不锁定,    效?#39318;?#39640;,    但是当写多线程时要考虑并发操作的问题¡£

      二¡¢测试实例

      package com.inspur.Test;
      
      import java.util.ArrayList;
      import java.util.HashMap;
      import java.util.Iterator;
      import java.util.List;
      import java.util.Map;
      import java.util.Map.Entry;
      
      /**
       *@author WHD
       *2015-3-5
       */
      @SuppressWarnings("unused")
      public class MapTest {
          private static List<String> list= new ArrayList<String>();
          public static void main(String[]args){
              MapTest  mapTest = new  MapTest();
              mapTest.initList(list);
              mapTest.foreach(list);
              mapTest.forlist(list);
              mapTest.iteratorList(list);
          }
          
          //list 集合中添加10万条数据
          public List initList(List<String> list){
              int i=0;
              int num=6000000;
              for(i=0;i<num;i++){
                  list.add("list"+i);
              }
              return list;
          }
          //list 集合遍历 foreach
          
          public void  foreach(List<String> list){
              long start= System.currentTimeMillis();
              for(String data:list){
                  String value=data;
              }
              
              long end=System.currentTimeMillis();
              long count=end-start;
              System.out.println("foreach 循环时间"+count);
          }
          // list集合遍历  for
          public void forlist(List<String> list){
              long start=System.currentTimeMillis();
              int i=0;
              for( i=0;i<list.size();i++){
                  String value=list.get(i);
              }
              long end=System.currentTimeMillis();
              long count=end-start;
              System.out.println("for list.size() 遍历时间"+count);
          }
          
          // Iterator 遍历循环
          public void iteratorList(List<String> list){
              long start= System.currentTimeMillis();
              for(Iterator<String>  it=list.iterator();it.hasNext();){
                  String value=it.next();
              }
              long end=System.currentTimeMillis();
              long count=end-start;
              System.out.println("iterator 遍历时间"+count);
          }
      
      }
      
      
      

      三¡¢测试结果£º

      £¨1£©¡¢第一次

      foreach  遍历时间£º55
      for list.size()遍历时间£º47
      iterator 遍历时间£º51

      £¨2£©¡¢第二次

      foreach  遍历时间£º54
      for list.size()遍历时间£º44
      iterator 遍历时间£º50

      £¨3£©¡¢第三次

      foreach  遍历时间£º48
      for list.size()遍历时间£º43
      iterator 遍历时间£º44

      ?#30828;?#35797;的结果我们可以明显的看到效率了£¡

      以上所述是小编给大家介绍的Java中List集合遍历详解整合£¬希望对大家有所帮助£¬如果大家有任?#25105;?#38382;请给我留言£¬小编会及时回复大家的¡£在此也非常?#34892;?#22823;家对脚本之家网站的支持£¡

      相关文章

      最新评论

      3dÊÔ»úºÅÖвÊÍø

        1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
          <output id="hzk7v"></output>
        2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
        3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

            1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
              <output id="hzk7v"></output>
            2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
            3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>