闲来无事,研究一下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最慢。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!