LinkedHashSet和LinkedHashMap手记(linkedhashset和linkedlist)

  本篇文章为你整理了LinkedHashSet和LinkedHashMap手记(linkedhashset和linkedlist)的详细内容,包含有linkedhashmap keyset linkedhashset和linkedlist linkedhashmap的实现原理 linkedhashmap foreach LinkedHashSet和LinkedHashMap手记,希望能帮助你了解 LinkedHashSet和LinkedHashMap手记。

  实例:LinkedHashMap

  可以使用访问顺序来迭代处理映射条目,当get或者put访问元素时,受影响的条目从当前位置删除,然后放到末尾,只影响链表,不影响散列表的桶。

  

LinkedHashMap K,V (initialCapacity, loadFactor,true) //构造访问顺序迭代处理的Map

 

  

 

  这样的好处是,可以保持”最近最少使用原则“,这样当容器满的时候可以通过覆盖removeEldestEntry来删掉前面的很少使用的缓存,。

  

// 定义一个容量为10,装填因子为0.75,访问顺序的cache,

 

  // 当size/容量 装填因子时,散列表就会再次散列。

  var cache = new LinkedHashMap String,Integer (10, 0.75F, true){

   // 复写该方法,则会删除掉Map中最不常访问的元素。

   protected boolean removeEldestEntry(Map.Entry String,Integer eldest){

   // 当容器的内容 5时删掉最不常访问的元素

   return size()

  cache.put("zs", 1);

  cache.put("ls", 2);

  cache.put("ww", 2);

  cache.put("zs",3); // 对张s进行覆盖,则会出现在最后访问之后

  cache.forEach((k,v)- {

   System.out.println(k+":"+v);

   ls:2

   ww:2

   zs:3

  以上就是LinkedHashSet和LinkedHashMap手记(linkedhashset和linkedlist)的详细内容,想要了解更多 LinkedHashSet和LinkedHashMap手记的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: