|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
Java基本及进步教程目次
Map接口的哈希表和链接列表完成,具有可预知的迭代按次。此完成与HashMap的分歧的地方在于,后者保护着一个运转于一切条目标两重链接列表。此链接列表界说了迭代按次,该迭代按次一般就是将键拔出到映照中的按次(拔出按次)。注重,假如在映照中从头拔出键,则拔出按次不受影响。(假如在挪用m.put(k,v)前m.containsKey(k)前往了true,则挪用时会将键k从头拔出到映照m中。)
此完成可让客户制止未指定的、由HashMap(及Hashtable)所供应的一般为乱七八糟的排序事情,同时无需增添与TreeMap相干的本钱。利用它能够天生一个与本来按次不异的映照正本,而与原映照的完成有关:- 1.packagecollection;
- 2.
- 3.importjava.util.HashMap;
- 4.importjava.util.Iterator;
- 5.importjava.util.LinkedHashMap;
- 6.importjava.util.Map;
- 7.
- 8./**
- 9.*老紫竹JAVA进步教程(14)-熟悉Map之LinkedHashMap。
- 10.*
- 11.*这个类承继自HashMap,具有其全体特征.
- 12.*同时外部保护着一个一切条目标两重链接,具有可预知的迭代按次。
- 13.*默许依照拔出的按次举行显现.
- 14.*反复拔出一个Key的数据,不会影响到利用的前后按次。
- 15.*此类制止了HashMap的乱七八糟的利用按次,同时又制止了TreeMap的分外本钱.
- 16.*
- 17.*@author老紫竹JAVA世纪网(java2000.net)
- 18.*
- 19.*/
- 20.publicclassLession14LinkedHashMap{
- 21.publicstaticvoidmain(String[]args){
- 22.//分离利用2个类,举行不异的数据测试
- 23.//能够看到,HashMap的按次是不成展望的
- 24.//而LinkedHashMap的按次严厉依照拔出按次
- 25.
- 26.//102=>102;100=>100;101=>101;98=>98;99=>99;
- 27.testMap(newHashMap());
- 28.//98=>98;99=>99;100=>100;101=>101;102=>102;
- 29.testMap(newLinkedHashMap());
- 30.
- 31.//删除数据后,LinkedHashMap会将数据放到开端最初的地位
- 32.//而HashMap大概会利用前一个空白的地位
- 33.}
- 34.
- 35.publicstaticvoidtestMap(Mapmap){
- 36.for(inti=98;i<=102;i++){
- 37.map.put(i,i);
- 38.}
- 39.showMap(map);
- 40.//实验反复拔出数据
- 41.map.put(100,100);
- 42.showMap(map);
- 43.
- 44.//删除数据,并再次拔出
- 45.map.remove(100);
- 46.map.put(100,100);
- 47.showMap(map);
- 48.}
- 49.
- 50.publicstaticvoidshowMap(Mapmap){
- 51.//迭代Key的操纵
- 52.Iteratorit=map.keySet().iterator();
- 53.Objectkey;
- 54.while(it.hasNext()){
- 55.key=it.next();
- 56.System.out.print(key+"=>"+map.get(key)+";");
- 57.}
- 58.System.out.println();
- 59.}
- 60.}
复制代码 运转效果:- 102=>102;100=>100;101=>101;98=>98;99=>99;
- 102=>102;100=>100;101=>101;98=>98;99=>99;
- 102=>102;100=>100;101=>101;98=>98;99=>99;
- 98=>98;99=>99;100=>100;101=>101;102=>102;
- 98=>98;99=>99;100=>100;101=>101;102=>102;
- 98=>98;99=>99;101=>101;102=>102;100=>100;
复制代码 java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。 |
|