• 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() 创建此映射表的一个拷贝

  • 相关阅读:
    xml模塊
    xlrd,xlwt模塊
    logging模塊
    正則補充
    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
    安卓--子线程和主线程之间的交互实例(时钟)
    Android--全局获取Context的技巧
    Android 广播机制
    android编写Service入门
    Android的Looper,Handler以及线程间的通信
  • 原文地址:https://www.cnblogs.com/tf-Y/p/4868429.html
Copyright © 2020-2023  润新知