LinkedHashMap方法解析

2016-06-24 10:11 评论 0 条

一.摘要

分析源码的时候,钊林喜欢查看类之间的程序结构,LinkedHashMap继承HashMap,拥有HashMap继承的所有方法和属性,同时是Map的间接实现类,支持所有操作,保证操作是有序的。

LinkedHashMap的实体存放在双向链表,默认遍历的顺序,是键被插入的顺序,重新插入已存在的键不改变原有顺序。如果使用LinkedHashMap三个参数的构造方法,第三个参数accessOrder()被指定为true,迭代的顺序是实体被访问的顺序,putgetputAll操作影响访问的顺序,但在Collection的操作是不影响的。

LinkedHashMap的实现不是同步的,就像HashMap一样,可以参考《HashMap方法解析》。关于插入有序的实例化对象,删除、添加实体的操作被称为结构化的修改,通过putgetputAll访问有序的实例化对象也称为结构化的修改,因为上述方法改变了实体的顺序,相反实体值的改变不属于结构化的修改。

LinkedHashMap方法解析

LinkedHashMap只分析clone方法如何使用,其余方法可以参考《Map接口集合方法解析》。clone()实现Cloneable接口,具体操作如下:

  1. HashMap map = new HashMap();  
  2.         map.put("id"new Integer(123456789));  
  3.         map.put("blog_id"new Integer(6789));  
  4.         map.put("token_id"new Integer(12345));  
  5. HashMap map2=(HashMap) map.clone();  
  6.   
  7.         Set keySet = map.keySet();  
  8.         Iterator iter = keySet.iterator();  
  9.         while (iter.hasNext()) {  
  10.             String key = (String) iter.next();  
  11.             System.out.println(key + "=" + map.get(key));  
  12.         }  
  13.         System.out.println(map.equals(map2));  

当前文章价值1.12元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://www.teachcourse.cn/1862.html ,谢谢支持!

资源分享

Eclipse+ADT Android快捷键大全 Eclipse+ADT Android快捷键
python运行wordpress_xmlrpc python运行wordpress_xmlrpc
Genymotion启动提示”Unable to start the virtual device“ Genymotion启动提示”Unable t
关于universal-image-loader如何防止Bitmap OOM的说明 关于universal-image-loader如何

发表评论

呲牙 憨笑 坏笑 偷笑 色 微笑 抓狂 睡觉 酷 流汗 鼓掌 大哭 可怜 疑问 晕 惊讶 得意 尴尬 发怒 奋斗 衰 骷髅 啤酒 吃饭 礼物 强 弱 握手 OK NO 勾引 拳头 差劲 爱你

表情