zoukankan      html  css  js  c++  java
  • java list三种遍历方法性能比较

    public static void compare() {
    List<String> list = new ArrayList<String>();
    Set<String> set = new HashSet<String>();
    for(int i=0;i<100000;i++) {
    list.add("a"+i);
    }
    long t1=0L,t2=0L;
    t1 = System.currentTimeMillis();
    for(String s : list) {
    set.add(s);
    }
    t2 = System.currentTimeMillis();
    System.out.println("forEach遍历的时间为:"+(t2-t1)+"mm");
    ////two
    t1 = System.currentTimeMillis();
    for(int i=0; i<list.size(); i++) {
    String str = list.get(i);
    set.add(list.get(i));
    }
    t2 = System.currentTimeMillis();
    System.out.println("size遍历的时间为:"+(t2-t1)+"mm");
    ////three
    t1 = System.currentTimeMillis();
    Iterator<String> iterator = list.iterator();
    while(iterator.hasNext()) {
    String str = iterator.next();
    set.add((String)iterator.next());
    }
    t2 = System.currentTimeMillis();
    System.out.println("iterator遍历的时间为:"+(t2-t1)+"mm");
    }

    forEach遍历的时间为:45mm
    size遍历的时间为:14mm
    iterator遍历的时间为:7mm


  • 相关阅读:
    密文搜索
    poj 1182 食物链
    1147. Heaps (30)
    1146. Topological Order (25)
    1145. Hashing
    1142. Maximal Clique (25)
    fzu 2112 tickets
    51nod 1554 欧姆诺姆和项链
    codeforces 963B Destruction of a Tree
    hdu 3294 Girls' research
  • 原文地址:https://www.cnblogs.com/zt007/p/7009953.html
Copyright © 2011-2022 走看看