插入删除的时候,ArrayList比LinkedList慢很多吗?

测试代码如下:

public static void main(String[] args) {
      List l;
      l = new ArrayList<>();
      insertFirst(l, "ArrayList");

      l = new LinkedList<>();
      insertFirst(l, "LinkedList");

  }
  private static void insertFirst(List l, String type) {
      int total = 1000 * 100;
      final int number = 5;
      long start = System.currentTimeMillis();
      for (int i = 0; i < total; i++) {
          l.add(0, number);
      }
      long end = System.currentTimeMillis();
      System.out.printf("在%s 最前面插入%d条数据,总共耗时 %d 毫秒 %n", type, total, end - start);
  }

结果如下:

在ArrayList 最前面插入100000条数据,总共耗时 1447 毫秒
在LinkedList 最前面插入100000条数据,总共耗时 5 毫秒

测试多次,效率差距明显!实验结果是这样,具体为什么,我现在不知道。

你可能感兴趣的:(插入删除的时候,ArrayList比LinkedList慢很多吗?)