存储性能 - 速度测试代码

本文通过具体代码示例对比了Java中ArrayList, HashMap及LinkedList在不同操作场景下的性能表现,包括顺序添加元素和指定位置添加元素两种情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ArrayListTest.java

 

package qqq;

import java.util.ArrayList;

public class ArrayListTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
       
        long startTimeAL1;
        long endTimeAL1;
        long startTimeAL2;
        long endTimeAL2;
        //AL顺序添加500000
        startTimeAL1 = System.currentTimeMillis();
        ArrayList aL = new ArrayList();
        for(int i=0;i<50000; i++){
            aL.add("000");
        }
        endTimeAL1 = System.currentTimeMillis();
        //AL前段添加
        startTimeAL2 = System.currentTimeMillis();
        ArrayList aL2 = new ArrayList();
        for(int i=0;i<50000; i++){
            aL.add(1,"000");
        }
        endTimeAL2 = System.currentTimeMillis();           
       
        System.out.println("顺序添加50000条数据耗时:"+(endTimeAL1-startTimeAL1)+"ms");
        System.out.println("顺序添加50000条数据耗时:"+(endTimeAL2-startTimeAL2)+"ms");
    }
}

//********************************************************************************

HashMapTest.java

 

package qqq;

import java.util.HashMap;

public class HashMapTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
       
        long startTimeAL1;
        long endTimeAL1;
        long startTimeAL2;
        long endTimeAL2;
        //AL顺序添加500000
        startTimeAL1 = System.currentTimeMillis();
        HashMap hM1 = new HashMap();
        for(int i=0;i<50000; i++){
            hM1.put(i,"000");
        }
        endTimeAL1 = System.currentTimeMillis();
        //AL前段添加
        startTimeAL2 = System.currentTimeMillis();
        HashMap hM2 = new HashMap();
        for(int i=0;i<50000; i++){
            hM2.put(50000-i, "000");
        }
        endTimeAL2 = System.currentTimeMillis();   
       
        //System.out.println(hM1.size());
        //System.out.println(hM2.size());
        System.out.println("顺序添加50000条数据耗时:"+(endTimeAL1-startTimeAL1)+"ms");
        System.out.println("顺序添加50000条数据耗时:"+(endTimeAL2-startTimeAL2)+"ms");

    }
}

//********************************************************************************

LinkedListTest.java

 

package qqq;

import java.util.ArrayList;

public class LinkedListTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
       
        long startTimeAL1;
        long endTimeAL1;
        long startTimeAL2;
        long endTimeAL2;
        //AL顺序添加500000
        startTimeAL1 = System.currentTimeMillis();
        ArrayList aL = new ArrayList();
        for(int i=0;i<50000; i++){
            aL.add("000");
        }
        endTimeAL1 = System.currentTimeMillis();
        //AL前段添加
        startTimeAL2 = System.currentTimeMillis();
        ArrayList aL2 = new ArrayList();
        for(int i=0;i<50000; i++){
            aL.add(1,"000");
        }
        endTimeAL2 = System.currentTimeMillis();   
       
       
        System.out.println("顺序添加50000条数据耗时:"+(endTimeAL1-startTimeAL1)+"ms");
        System.out.println("顺序添加50000条数据耗时:"+(endTimeAL2-startTimeAL2)+"ms");

    }
}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值