java - 测量 ArrayList 和 LinkedList 上的插入操作所花费的时间

标签 java arraylist linked-list

我想创建一个方法来看看创建 10000 个 ArrayList 和 LinkedList 需要多少时间。我在寻找什么?

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());
        }
    }
}

最佳答案

您的代码有一个编译错误,所以我修复了它们并添加了一些代码可能会对您有所帮助。

所以你可以这样做:

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;
}
}

关于java - 测量 ArrayList 和 LinkedList 上的插入操作所花费的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21858686/

相关文章:

java - ArrayList Java字符串删除不删除

sorting - 数组列表的排序

java - 序列化和反序列化 ArrayList 的问题

将二叉树转换为链表

java - 如何在 Java Swing 应用程序中的 JTable 单元格内正确设置可编辑复选框?

java - 使用脚本ElasticSearch API的更新不接受Scala Map

c - 如何在c中实现通用链表

Java:删除链表中的所有元素

java - 使用 Java 搞乱系统硬件?

java - 在 Java Webapp 中将 mysql 表复制到 hive