zoukankan      html  css  js  c++  java
  • list集合的遍历3种方法

    1. package com.sort;  
    2.   
    3. import java.util.ArrayList;  
    4. import java.util.Iterator;  
    5. import java.util.List;  
    6.   
    7. /** 
    8.  * list的三种遍历 
    9.  * 
    10.  */  
    11. public class ListTest {  
    12.   
    13.     public static void main(String[] args) {  
    14.           
    15.         List<String> list = new ArrayList<String>();  
    16.           
    17.         list.add("a");  
    18.         list.add("b");  
    19.         list.add("c");  
    20.         list.add("c");//可添加重复数据  
    21.           
    22.         //遍历方法一  
    23.         for(Iterator<String> iterator = list.iterator();iterator.hasNext();){  
    24.             String value = iterator.next();  
    25.               
    26.             System.out.println(value);  
    27.         }  
    28.           
    29.         //遍历方法二  
    30.         for(String value : list){  
    31.             System.out.println(value);  
    32.         }  
    33.           
    34.         //遍历方法三  
    35.         for(int i=0;i<list.size();i++){  
    36.             System.out.println(list.get(i));  
    37.         }  
    38.           
    39.     }  
    40. }  


    三种遍历的比较分析:

     

    方法一遍历:

    执行过程中会进行数据锁定,    性能稍差,    同时,如果你想在循环过程中去掉某个元素,只能调用it.remove方法。   

     

    方法二遍历:

    内部调用第一种

     

    方法三遍历:

    内部不锁定,    效率最高,    但是当写多线程时要考虑并发操作的问题

     

    List接口的两种主要实现类ArrayList和LinkedList都可以采用这样的方法遍历

     

    关于ArrayList与LinkedList的比较分析
    a) ArrayList底层采用数组实现,LinkedList底层采用双向链表实现。
    b) 当执行插入或者删除操作时,采用LinkedList比较好。
    c) 当执行搜索操作时,采用ArrayList比较好。

     

    说白了,就是数据结构中的顺序存储和链式存储
  • 相关阅读:
    iOS开发UI中懒加载的使用方法
    ios archives 出现的是other items而不是iOS Apps的解决方案
    Unable to find a team with the given Team ID或者Failed to code sign的问题解决
    Xcode升级插件失效解决办法-升级版
    iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法
    【iOS进阶】UIWebview加载搜狐视频,自动跳回客户端 问题解决
    Swift学习笔记
    微信分享无响应的解决
    xcode6-添加真机设备
    【iOS系列】-UIWebView加载网页禁止左右滑动
  • 原文地址:https://www.cnblogs.com/godlovelian/p/4452709.html
Copyright © 2011-2022 走看看