首页 > 编程知识 正文

linkedhashmap(new hashmap)

时间:2023-05-06 06:18:30 阅读:90459 作者:3440

测试代码:

公共事业域名(字符串[ ]数组)。

地图=新地图(;

用户=新用户(1l,“san”,2,“wuhan”,“2”,真);

concurrentmapmap1=newconcurrenthashmap (;

int j=10000;

int i=0;

long a=System.currentTimeMillis (;

wile(ij ) {

对象输出=映射输出(' user,user );

I;

}

long b=System.currentTimeMillis (;

system.out.println ('地图保存需要时间((b-a ) '毫秒) );

i=0;

wile(ij ) {

对象=地图.获取(' use ' I );

I;

}

long c=System.currentTimeMillis (;

system.out.println ('获取地图需要时间((c-b ) '毫秒) );

i=0;

wile(ij ) {

对象输出=映射1 .输出(' user,user );

I;

}

long d=System.currentTimeMillis (;

system.out.println('currmap的保存需要时间((d-c ) '毫秒) );

i=0;

wile(ij ) {

对象=地图1.get (' use ' I );

I;

}

long f=System.currentTimeMillis (;

system.out.println('currmap的获取需要时间((f-d ) '毫秒) );

{1}数据量为1万时,为:

map保存所需的时间除11毫秒1291110最高最低外平均为10.6

除去取得map需要时间的5毫秒5 4 3 4最高最低,平均为4.6

currmap的保存需要18毫秒11~11.11九个小时,除去最高最低,平均取11个小时

currmap除了需要5毫秒的3 5 3 4最高最低外,平均取4.6

数据量为10万时:

map保存时间63毫秒56 57 61 67除67最高最低外平均60.3

map获取时间18毫秒25 18 20 21除最高最低外平均19.6

保存currmap所需的时间除43毫秒49 51 49 54最高最低外平均为49.6

currmap取时间12毫秒14~12十六13,除去最高最低,平均取13

数据量为100万时:

map保存时间346毫秒218 192 211 193除最高最低外平均207.3

获取map所需的时间除406毫秒492 456 549 482最高最低外平均为476.6

currmap保存时间674毫秒697 632 762 214除去最高最低值后的平均667.6

获取currmap所需的时间除131毫秒137 161 155 581最高最低外平均为151

数据量为500万时:

保存map所需的时间平均为3210,不包括2783毫秒3269 3239 3150 3241最高最低

map获取时间729毫秒677 664 669除661最高最低外平均为670

currmap保存时间3036毫秒2721 2848 2678 2733除去最高最低,平均为2767.3

currmap获取时间786毫秒808 2546 771 1879除去最高最低后的平均1157.6

数据量为1000万时为:

map保存时间7803毫秒7786 9094 7168 9756除去最高最低后的平均8227.6

map获取时间6323毫秒1195 3780 4140 4489除去最高最低后的平均4136.3

除去currmap保存时间5057毫秒7021 6895 4986 7231最高最低,平均取6300

获取currmap所需的时间平均为2427.3,不包括4741毫秒1349 1064 5120 1192最高最低

数据量为亿时,内存不足的结论3360

无论数据量小还是数据量大,ConcurrentMap访问的效率都非常高。 也就是说,数据量为500万左右时会发生较大变动。

此外,ConcurrentMap是线程安全的。 推荐ConcurrentMap的密钥和值不能为空

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。