仓酷云

标题: 了解下JAVA的JAVA进步教程(14)-熟悉Map之LinkedHashMap [打印本页]

作者: 不帅    时间: 2015-1-18 11:10
标题: 了解下JAVA的JAVA进步教程(14)-熟悉Map之LinkedHashMap
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
Java基本及进步教程目次
Map接口的哈希表和链接列表完成,具有可预知的迭代按次。此完成与HashMap的分歧的地方在于,后者保护着一个运转于一切条目标两重链接列表。此链接列表界说了迭代按次,该迭代按次一般就是将键拔出到映照中的按次(拔出按次)。注重,假如在映照中从头拔出键,则拔出按次不受影响。(假如在挪用m.put(k,v)前m.containsKey(k)前往了true,则挪用时会将键k从头拔出到映照m中。)
此完成可让客户制止未指定的、由HashMap(及Hashtable)所供应的一般为乱七八糟的排序事情,同时无需增添与TreeMap相干的本钱。利用它能够天生一个与本来按次不异的映照正本,而与原映照的完成有关:
  1. 1.packagecollection;
  2. 2.
  3. 3.importjava.util.HashMap;
  4. 4.importjava.util.Iterator;
  5. 5.importjava.util.LinkedHashMap;
  6. 6.importjava.util.Map;
  7. 7.
  8. 8./**
  9. 9.*老紫竹JAVA进步教程(14)-熟悉Map之LinkedHashMap。
  10. 10.*
  11. 11.*这个类承继自HashMap,具有其全体特征.
  12. 12.*同时外部保护着一个一切条目标两重链接,具有可预知的迭代按次。
  13. 13.*默许依照拔出的按次举行显现.
  14. 14.*反复拔出一个Key的数据,不会影响到利用的前后按次。
  15. 15.*此类制止了HashMap的乱七八糟的利用按次,同时又制止了TreeMap的分外本钱.
  16. 16.*
  17. 17.*@author老紫竹JAVA世纪网(java2000.net)
  18. 18.*
  19. 19.*/
  20. 20.publicclassLession14LinkedHashMap{
  21. 21.publicstaticvoidmain(String[]args){
  22. 22.//分离利用2个类,举行不异的数据测试
  23. 23.//能够看到,HashMap的按次是不成展望的
  24. 24.//而LinkedHashMap的按次严厉依照拔出按次
  25. 25.
  26. 26.//102=>102;100=>100;101=>101;98=>98;99=>99;
  27. 27.testMap(newHashMap());
  28. 28.//98=>98;99=>99;100=>100;101=>101;102=>102;
  29. 29.testMap(newLinkedHashMap());
  30. 30.
  31. 31.//删除数据后,LinkedHashMap会将数据放到开端最初的地位
  32. 32.//而HashMap大概会利用前一个空白的地位
  33. 33.}
  34. 34.
  35. 35.publicstaticvoidtestMap(Mapmap){
  36. 36.for(inti=98;i<=102;i++){
  37. 37.map.put(i,i);
  38. 38.}
  39. 39.showMap(map);
  40. 40.//实验反复拔出数据
  41. 41.map.put(100,100);
  42. 42.showMap(map);
  43. 43.
  44. 44.//删除数据,并再次拔出
  45. 45.map.remove(100);
  46. 46.map.put(100,100);
  47. 47.showMap(map);
  48. 48.}
  49. 49.
  50. 50.publicstaticvoidshowMap(Mapmap){
  51. 51.//迭代Key的操纵
  52. 52.Iteratorit=map.keySet().iterator();
  53. 53.Objectkey;
  54. 54.while(it.hasNext()){
  55. 55.key=it.next();
  56. 56.System.out.print(key+"=>"+map.get(key)+";");
  57. 57.}
  58. 58.System.out.println();
  59. 59.}
  60. 60.}
复制代码
运转效果:
  1. 102=>102;100=>100;101=>101;98=>98;99=>99;
  2. 102=>102;100=>100;101=>101;98=>98;99=>99;
  3. 102=>102;100=>100;101=>101;98=>98;99=>99;
  4. 98=>98;99=>99;100=>100;101=>101;102=>102;
  5. 98=>98;99=>99;100=>100;101=>101;102=>102;
  6. 98=>98;99=>99;101=>101;102=>102;100=>100;
复制代码
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。
作者: 山那边是海    时间: 2015-1-20 15:46
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
作者: 小妖女    时间: 2015-2-2 13:06
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 只想知道    时间: 2015-2-3 12:32
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 老尸    时间: 2015-2-7 12:13
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: admin    时间: 2015-2-10 01:39
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
作者: 小魔女    时间: 2015-2-28 12:01
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
作者: 仓酷云    时间: 2015-3-9 22:54
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
作者: 活着的死人    时间: 2015-3-17 03:00
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者: 变相怪杰    时间: 2015-3-23 17:05
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2