HashMap 翻译

package java.util;


import java.io.IOException;
import java.io.InvalidObjectException;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Consumer;

import java.util.function.Function;


/* 哈希表格是基于实现Map接口。这个实现提供所有map接口可选操作,它允许null值和null键。

(HashMap类与Hashtable大概一致,除了HashMap是不同步的和允许为null。),这个类不能

保证是有序的,尤其是,它不能保证这个顺序是不变化的,它有可能每次都不一样。

这个实现对基础操作(get 和 put)所花费的时间是常量的,假设这个哈希函数计算结果合理将

这些元素分布在桶内,迭代集合视图要求的时间取决于HashMap实例容量的大小,再加上大小(键值对数量),

所以,如果你要迭代性能要求高,它非常重要的是不要初始化容量太大(或者太低装载系数)。

一个hashMap的实例有两个重要影响性能的因素 : 初始化容量和装载系数,哈希表格容量是桶中元素的数量

初始化的容量的大小在哈希表格创建的时候确定。装载系数是当哈希表格将要装满的时候自动增加容量的一个系数。

当entry的数量超过当前装载系数要求的数量,这个哈希表格会重新构建,所以哈西表格大约两倍桶的数量。

一般情况,这个默认的装载系数(0.75),它在时间和内存空间的一个折中,更高的值减少空间,但增加了查询

时间,(HashMap类反射操作是get和put),期望在Map的中数量和装载系数都应该被考虑在内,当设置它的初始容器

为了最小化重复操作,如果初始容量大于最大entry数量除以装载系数。没有重新操作将会发生。


*/




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值