java.util.hashmap_java.util.HashMap

做LeeCode上的题目,发现关于数组的题目用HashMap后简化运算,包括在之前的工作中,也多次用到HashMap而我对它的了解却不多,现在来总结一下。

在算法中的用处,暂时的理解是,当数组中两个数据有联系时,可以将一个存储在HashMap中寻找下一个,

public class HashMap extends AbstractMap implements Map

AbstractMap 实现了 Map 此处又加上 implements Map 目前认为是为了结构清晰

Map接口的四个实现:HashMap,Hashtable,TreeMap,WeakHashMap

HashMap 用来存储被称为表项的 key/value 的收集,提供所有可选操作,允许  key/value 为 null 。关键字必须唯一,值可以不唯一。如果添加一个具有相同关键字的表项,这个映射表将用新的表项替换旧的表项。

关键字在映射表中不能被修改。// 这句话不能理解-->映射表是啥,网上没查到,求路过的大神解释

HashMap 内部使用哈希表存储表项,这些表项的 存取和添加 和数组的一样快。当需要确定一个表项集合并判断某个表项是否已经存在于集合中时,HashMap是非常有用的,而且不用考虑表项的顺序(使得其在写算法时常被用到)。

使用:

可以创建一个空的 HashMap 或由映射表初始化一个 HashMap,

HashMap map;

map = new HashMap;

map = new HashMap(map);

容量和装载因子:

通常容量为映射表中表项数量的两倍比较合适。

构造函数:

HashMap() 构造一个新的HashMap实例

值检索方法:

get 检索与一个关键字关联的值

value = get(key);

查询方法:

containsKey 确定此映射表是否包含特定的关键字

containsValue() 确定此映射表是否包含特定的值

isEmpty() 确定此映射表是否有表项

size() 返回映射表中表项的个数

修改方法:

clear() 清空映射表

put()  添加一个键值对

putAll() 添加一个来自另一个映射表中的键值对

remove() 从映射表中删除一个表项

收集视图方法:

entrySet() 返回包含映射表中所有键值对的集合

keySet() 返回包含映射表中所有关键字的集合

values() 返回包含映射表中所有值的集合

对象方法

clone() 创建此映射表的一个拷贝

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值