zoukankan      html  css  js  c++  java
  • Map小记

    Map

    • key-value存储容器

    HashMap

    • Hash表实现的Map
    • 允许key和value为null

    LinkedHashMap

    • Hash表实现,同时保存了插入或者访问顺序

    SortedMap

    • 有序Map,key会排序
    • 可导航的map,由于是有序的,因此可以实现获取某个key排序前的所有key等类似操作

    TreeMap

    • 使用红黑树实现的Map

    HashTable

    • 线程安全的Hash表实现Map,使用this锁,内部优化很少

    ConcurrentMap

    • 并发安全的Map

    ConcurrentHashMap

    • 并发安全的hash表实现的Map
    • 使用cas和hash槽synchronized保证线程安全

    ConcurrentLinkedHashMap❌

    • 不存在,因为保持全局顺序必须map级别的锁

    ConcurrentNavigableMap

    • 并发可导航map,有序map

    ConcurrentTreeMap❌

    • 不存在,TreeMap是红黑树实现的,只有一个根节点,要实现并发必须加map级别的锁

    ConcurrentSkipListMap

    • 并发跳表实现Map,有序,通过cas实现无锁

    不管key和value能不能为null,也懒得去记,最好都把null包装成null对象,这样所有的map都能一致对外服务

  • 相关阅读:
    使用指针的误区之指针未初始化
    实验室react项目名词解释
    生活感悟之大学
    git 快速入门
    口才锻炼
    narcissus
    crest value &minimum
    factorial
    Str_turn
    array_x
  • 原文地址:https://www.cnblogs.com/zby9527/p/13633010.html
Copyright © 2011-2022 走看看