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

    循环遍历list集合里面的三种方法

    最近要批量处理一批数据 ,特此记录一下主要方法

    List<String> list = new ArrayList<String>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    方法一:
    超级for循环遍历
    for(String attribute : list) {
    System.out.println(attribute);
    }
    方法二:
    对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历:
    for(int i = 0 ; i < list.size() ; i++) {
    system.out.println(list.get(i));
    }
    方法三:
    集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代
    Iterator it = list.iterator();
    while(it.hasNext()) {
    System.ou.println(it.next);
    }



    刚在网上又看了下,发现我自己写的还是有瑕疵的,,
    ps:补加。

    /**
    * 方法一:最普通的不加思考的写法
    * <p>
    * 优点:较常见,易于理解
    * <p>
    * 缺点:每次都要计算list.size()
    */
    for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
    }
    /**
    * 方法二:数组长度提取出来
    * <p>
    * 优点:不必每次都计算
    * <p>
    * 缺点:1、m的作用域不够小,违反了最小作用域原则 2、不能在for循环中操作list的大小,比如除去或新加一个元素
    */
    int m = list.size();
    for (int i = 0; i < m; i++) {
    System.out.println(list.get(i));
    }
    /**
    * 方法三:数组长度提取出来
    * <p>
    * 优点:1、不必每次都计算 2、所有变量的作用域都遵循了最小范围原则
    * <p>
    * 缺点:1、m的作用域不够小,违反了最小作用域原则 2、不能在for循环中操作list的大小,比如除去或新加一个元素
    */
    for (int i = 0, n = list.size(); i < n; i++) {
    System.out.println(list.get(i));
    }
    /**
    * 方法四:采用倒序的写法
    * <p>
    * 优点:1、不必每次都计算 2、所有变量的作用域都遵循了最小范围原则
    * <p>
    * 缺点:1、结果的顺序会反 2、看起来不习惯,不易读懂
    * <p>
    * 适用场合:与显示结果顺序无关的地方:比如保存之前数据的校验
    */
    for (int i = list.size() - 1; i >= 0; i--) {
    System.out.println(list.get(i));
    }
    /**
    * 方法五:Iterator遍历
    * <p>
    * 优点:简洁
    * <p>
    * 缺点:
    */
    for (Iterator<String> it = list.iterator(); it.hasNext();) {
    System.out.println(it.next());
    }
    /**
    * 方法六:jdk1.5新写法
    * <p>
    * 优点:简洁结合泛型使用更简洁
    * <p>
    * 缺点:jdk1.4向下不兼容
    */
    for (Object o : list) {
    System.out.println(o);
    }

  • 相关阅读:
    软件构造—— 实验二 lex词法分析
    软件构造-实验1 根据状态转换图手工构造词法扫描器
    PHP——实验四 PHP操作数据库
    判断是不是素数
    hexo和github pages的关系
    Python的map,reduce,filter函数
    CentOS源码更新Linux最新内核
    CentOS打Meltdown等漏洞的补丁包
    let申明与const申明
    正则表达式
  • 原文地址:https://www.cnblogs.com/yangchengdebokeyuan/p/8458079.html
Copyright © 2011-2022 走看看