cjzsb123
cjzsb123
2017-01-17 03:22

关于ArrayList插入速度的问题

  • jdk
  • java
  • arraylist
 public class test1 {
    public static void main(String[] args) {

                //第一个列表
        ArrayList<Integer> list1 = new ArrayList<Integer>();
        long start1 = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i++) {
            list1.add(i);
        }
        System.out.println("第一个列表花费" + (System.currentTimeMillis() - start1) + "毫秒");


        //第二个列表
        ArrayList<Integer> list2 = new ArrayList<Integer>();
        long start2 = System.currentTimeMillis();
        for (int i = 10000000; i < 20000000; i++) {
            list2.add(i);
        }
        System.out.println("第二个列表花费" + (System.currentTimeMillis() - start2) + "毫秒");

    }
}

同样都是插入1000万条数据。
为什么第一个花费了6000ms,而第二个只用了500ms,差距怎么这么大?
我把第二个列表的代码移到前面,结果还是一样:先运行的花费时间久,后运行的花费的时间很短

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

5条回答