测量插入操作对ArrayList和LinkedList所花费的时间

时间:2014-02-18 15:49:13

标签: java arraylist linked-list

我想创建方法,以查看创建10000 ArrayListLinkedList所需的时间。我在找什么?

public class Solution
{
    public static void main(String[] args)
    {
        System.out.println(getTimeMsOfInsert(new ArrayList()));

        System.out.println(getTimeMsOfInsert(new LinkedList()));
    }

    public static long  getTimeMsOfInsert(List list)
    {
        insert10000(list);
    }

    public static void insert10000(List list)
    {
        for (int i=0;i<10000;i++)
        {
            list.add(0, new Object());
        }
    }
}

2 个答案:

答案 0 :(得分:3)

您的代码有一个compilation errors,所以我修复了它们并添加了一些代码可能对您有帮助。

所以你可以这样做:

public class Solution{

public static void main(String[] args) {
    System.out.println(getTimeMsOfInsert(new ArrayList()));
    System.out.println(getTimeMsOfInsert(new LinkedList()));
}

public static long getTimeMsOfInsert(List list) {
    return getInsertTime(list);
}

public static long getInsertTime(List list) {
    long start = System.currentTimeMillis();
    for (int i = 0; i < 10000; i++) {
        list.add(new Object());
    }
    return System.currentTimeMillis() - start;
}
}

答案 1 :(得分:0)

来自Codegym社区的您好:)下面是我的解决方案。您可以轻松使用System.currentTimeMillis()

   public static long getInsertTimeInMs(List list) {
    // write your code here
     long start = System.currentTimeMillis();
    insert10000(list);

    // write your code here
    long finish = System.currentTimeMillis();
    return  finish - start;
}