javahashmap的工作原理-java开发java经验技巧

javahashmap的工作原理-java开发java经验技巧

ID:30768486

大小:91.50 KB

页数:8页

时间:2019-01-03

javahashmap的工作原理-java开发java经验技巧_第1页
javahashmap的工作原理-java开发java经验技巧_第2页
javahashmap的工作原理-java开发java经验技巧_第3页
javahashmap的工作原理-java开发java经验技巧_第4页
javahashmap的工作原理-java开发java经验技巧_第5页
资源描述:

《javahashmap的工作原理-java开发java经验技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JavaHashMap的工作原理-编程开发技术JavaHashMap的工作原理木文由ImportNew・miraclel919翻译自javacodegeeks0欢迎加入翻译小组。转载请见文末要求。面试的时候经常会遇见诸如:"java中的HashMap是怎么工作的”,"HashMap的get和put内部的工作原理”这样的问题。本文将用一个简单的例子来解释下HashMap内部的工作原理。首先我们从一个例子开始,而不仅仅是从理论上,这样,有助于更好地理解,然后,我们来看下get和put到底是怎样工作的。我们來看

2、个非常简单的例子。有一个”国家”(Country)类,我们将要用Country对彖作为key,它的首都的名字(String类型)作为value。下而的例子有助于我们理解key-value对在HashMap中是如何存储的。1.Country,javapackageorg.arpit.javapostsforlearning;publicclassCountry{Stringname;longpopulation;publicCountry(Stringnamc,longpopulation){super()

3、;this,name=name;this.population二population;}publicStringgctName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publiclonggetPopulationO{returnpopulation;}publicvoidsetPopulation(longpopulation){this.population二population;//Iflengthofnameincou

4、ntryobjectiseventhenreturn31(anyrandomnumber)andifoddthenreturn95(anyrandomnumber).//ThisisnotagoodpracticetogeneratehashcodeasbelowmethodbutTamdoingsotogivebetterandeasyunderstendingofhashmap.©OverridepublicinthashCode(){if(this.name,length()%2==0)return

5、31;elsereturn95;}©Overridepublicbooleanequals(Objectobj){Countryother二(Country)obj;if(namc.cqualslgnorcCasc((other,namc)))returntrue;returnfalse;}如果想了解更多关于Object对象的hashcode和equals方法的东西,可以参考:java中的hashcode()和equals()方法1.HashMapStructure.java(mainclass)impo

6、rtjava.util.HashMap;importjava.util.Iterator;publicclassHashMapStrueture{/***©authorArpitMandliya*/publicstaticvoidniain(String[]args){Countryindia二newCountry(Tndiaz1000);Countryjapan=newCountry(^Japan^,10000);Countryfrance二newCountry("France",2000);Coun

7、tryrussia二newCountry("Russia",20000);HashMapcountryCapitalMap=newHashMap();countryCapitalMap.put(india,〃Delhi〃);countryCapitaiMap.put(japan,〃Tokyo〃);countryCapitalMap.put(francc,"Paris");countryCapitalMap.put(russia,"Moscow

8、");IteratorcountryCapitalltei-countryCapitalMap.keySet().iterator();//putdebugpointatthis1inewhile(countryCapitalitor.hasNcxt()){CountrycountryObj=countryCapitalIter.next();Stringcapital二countryCapitalMap.g

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。