zoukankan      html  css  js  c++  java
  • 基本的Map 实现

    Map 是一个接口,实现Map 接口的类颇多,他们各有自己的特点。

    HashMap :

    如果没有其他的限制,它应该是你的默认选择,因为它对速度进行了优化。Map基于散列表的实现(它取代了HashTable),插入和查询“键值对”的开销是固定的。可以通过构造器设置容量负载因子


    LinkedListMap:

    类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是 最近最少使用(LRU)的次序,只比HashMap慢一点;而在迭代访问时反而更快,因为他使用 链表 维护内部次序。


    TreeMap:

    基于红黑树的实现。查看“键”或“键值对”时,他们会被排序(次序由Comparable或comparator决定)。TreeMap的特点在于,所得到的结果是经过排序的。TreeMap是唯一的带有subMap()方法的Map,它可以返回一个子树。


    WeakHashMap :

    弱键映射, 允许释放映射所指向的对象;这是为解决某类特殊问题而设计的。如果映射之外没有引用指向某个“键”,则此“键”可以被垃圾收集器回收。


    ConcurrentHashMap:

    一种线程安全的Map,它不涉及同步枷锁。(未完待续)

    IndentityHashMap :

    使用== 代替equals()对“键”进行比较的散列映射。专为解决特殊问题而设计的


    跟我走啊~~
  • 相关阅读:
    docker 常用命令
    docker 部署安装
    Dockerfile
    Docker挂载本地目录
    es的基本理论与简单操作
    第一个gradle工程
    记录下自己git命令
    flink 自定义 mysql source
    flink kafka source
    flink file source
  • 原文地址:https://www.cnblogs.com/wrh526/p/2143192.html
Copyright © 2011-2022 走看看