vickzhu

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  151 随笔 :: 0 文章 :: 34 评论 :: 0 Trackbacks
为了提高速度,LinkedHashMap散列化所有的元素,但是在遍历键值对时,却又以元素的插入顺序返回键值对(System.out.println()会迭代遍历该映射,因此可以看到遍历的结果)。此外,可以在构造器中设定LinkedHashMap,使之采用基于访问的最近最少使用(LRU)算法,于是没有被访问过的(可被看作需要删除的)元素就会出现在队列的前面。对于需要定期清理元素以节省空间的程序来说,此功能使得程序很容易得以实现。下面就是一个简单的例子,它演示了LinkedHashMap的这两种特点:
在输出中可以看到,键值对是以插入的顺序进行遍历的,甚至LRU算法的版本也是如此。但是,在LRU版本中,在(只)访问过前面六个元素后,最后三个元素移到了队列前面。然后再一次访问元素“o”时,它就被移到队列后端了。
LinkedHashMap平常用的比较少,但是却是用在相当重要的地方,利用其LRU算法可以创建对象池、连接池等等。
posted on 2008-09-24 13:59 筱 筱 阅读(2434) 评论(1)  编辑  收藏

评论

# re: LinkedHashMap 的使用说明 2010-08-21 18:22 朱君浩
不错,有按输入顺序输出的hashMap。。。。。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: