zoukankan      html  css  js  c++  java
  • LinkedHashMap类

    • LinkedHashMapMap接口的哈希表和链表的实现,这个实现与HashMap不同之处在于它维护了一个贯穿其所有条目的双向链表。这个链表定义了遍历顺序,通常是插入map中的顺序。
    • 它提供了一个特殊的LinkedHashMapint,float,boolean)构造器来创建LinkedHashMap,其遍历顺序是其最后一次访问的顺序。
    • 可以重写removeEldstEntry(Ma[.Entry)方法,以便在将新映射添加到map时强制删除过期映射的策略。
    • 这个类提供了所有可选择的map操作,并且允许null元素。由于维护链表的额外开销,性能可能会低于HashMap,有一条除外:遍历LinkedHashMap中的collection-views需要与map.size成正比,无论其容量如何。HashMap的迭代看起来开销更大,因为还要求时间与其容量成正比。
    • LinkedHashMap有两个因素影响它的构成:初始容量和加载因子。
    • LinkedHashMap的实现不是线程安全的。如果多线程并发访问LinkedHashMap,并且至少一个线程修改了map,必须进行外部加锁。通常通过在自然封装集合的某个对象上进行同步来实现Map m =Collections.synchronizedMap(new linkedHashMap(...))。它也支持fast-fail机制。
    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    poj3255,poj2449
    poj2186
    poj3249
    poj3378
    poj3274
    poj1948
    hdu 2181暴搜
    hdu 3342
    hdu 1285
    hdu 1598
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14418519.html
Copyright © 2011-2022 走看看