闲来无事,研究一下Java Collection,首先是ArrayList。

通过三种方式遍历了长度为100000的ArrayList。

import java.util.*;

public class CollectionTest {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        for (int i = 0 ; i < 100000 ; i++) {
            list.add(i);
        }
        // 第一种遍历list的方式
        System.out.println("-------------foreach--------------------");
        long t1 = System.currentTimeMillis();
        for(int str: list) {
            System.out.println(str);
        }
        long t2 = System.currentTimeMillis();
        // 第二种遍历list的方式
        System.out.println("-------------------toArray-----------------");
        Integer[] array = new Integer[list.size()];
        list.toArray(array);
        long t3 = System.currentTimeMillis();
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
        long t4 = System.currentTimeMillis();

        // 第三种遍历list的方式
        System.out.println("--------------Iterator-----------------");
        Iterator<Integer> it = list.iterator();
        long t5 = System.currentTimeMillis();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
        long t6 = System.currentTimeMillis();

        long t12 = t2 - t1;
        long t34 = t4 - t3;
        long t56 = t6 - t5;
        System.out.println(t12);
        System.out.println(t34);
        System.out.println(t56);
    }
}

运行的结果为1104,978,658

可以发现,使用Iterator最快,toArray次之,forEach最慢。

喜欢这篇文章?欢迎打赏~~

三种迭代Java ArrayList方法及比较

 

相关文章:

  • 2022-02-15
  • 2021-10-19
  • 2023-04-06
  • 2022-02-09
  • 2022-12-23
  • 2021-06-16
  • 2022-01-27
  • 2021-06-15
猜你喜欢
  • 2021-07-18
  • 2021-11-23
  • 2021-12-21
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案