zoukankan      html  css  js  c++  java
  • LinkedHashMap的accessOrder的作用

    LinkedHashMap的构造方法有一个是这样子的:

    1 public LinkedHashMap(int initialCapacity,
    2              float loadFactor,
    3                          boolean accessOrder) {
    4         super(initialCapacity, loadFactor);
    5         this.accessOrder = accessOrder;
    6     }

    参数说明:

    1. initialCapacity   初始容量大小,使用无参构造方法时,此值默认是16
    2. loadFactor       加载因子,使用无参构造方法时,此值默认是 0.75f
    3. accessOrder   false: 基于插入顺序     true:  基于访问顺序 

    重点看看accessOrder的作用,使用无参构造方法时,此值默认是false。

    那么设置成true的时候会是什么样子的呢?

     1     public static void main(String[] args) {
     2         Map<String, String> map = new LinkedHashMap<String, String>(16,0.75f,true);
     3         map.put("1", "a");
     4         map.put("2", "b");
     5         map.put("3", "c");
     6         map.put("4", "e");
     7 
     8         for (Iterator<String> iterator = map.values().iterator(); iterator
     9                 .hasNext();) {
    10             String name = (String) iterator.next();
    11             System.out.print(name);
    12         }
    13     }

    上面的代码打印结果为:abce,很正常,按照加入的顺序打印

    现在增加两行代码:

     1     public static void main(String[] args) {
     2         Map<String, String> map = new LinkedHashMap<String, String>(16,0.75f,true);
     3         map.put("1", "a");
     4         map.put("2", "b");
     5         map.put("3", "c");
     6         map.put("4", "e");
     7         
     8         //new add
     9         map.get("1");
    10         map.get("2");
    11 
    12         for (Iterator<String> iterator = map.values().iterator(); iterator
    13                 .hasNext();) {
    14             String name = (String) iterator.next();
    15             System.out.print(name);
    16         }
    17     }

    打印结果为:ceab 

    这就是基于访问的顺序,get一个元素后,这个元素被加到最后(使用了LRU 最近最少被使用的调度算法)

  • 相关阅读:
    详解REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
    HTTP Header 详解
    搜索引擎爬虫蜘蛛的useragent
    PHP防抓取数据curl 解决方法
    用curl抓取网站数据,仿造IP、防屏蔽终极强悍解决方式
    windows下 composer常见问题及处理
    Composer命令详解
    SSM框架之RestFul示例
    关于SpringMVC返回数据带斜杠字符串问题之解决方案
    js之radio应用实例
  • 原文地址:https://www.cnblogs.com/yejg1212/p/2992921.html
Copyright © 2011-2022 走看看