文档介绍::..JavaHashMap的工作原理-编程开发技术JavaHashMap的工作原理木文由ImportNew・miraclel919翻译自javacodegeeks0欢迎加入翻译小组。转载请见文末要求。面试的时候经常会遇见诸如:"java中的HashMap是怎么工作的”,"HashMap的get和put内部的工作原理”这样的问题。本文将用一个简单的例子来解释下HashMap内部的工作原理。首先我们从一个例子开始,而不仅仅是从理论上,这样,有助于更好地理解,然后,我们来看下get和put到底是怎样工作的。我们來看个非常简单的例子。有一个”国家”(Country)类,我们将要用Country对彖作为key,它的首都的名字(String类型)作为value。下而的例子有助于我们理解key-value对在HashMap中是如何存储的。,.;lassCountry{Stringname;longpopulation;ountry(Stringnamc,longpopulation){super();this,name=name;;}publicStringgctName(){returnname;}publicvoidsetName(Stringname){=name;}publiclonggetPopulationO{returnpopulation;}publicvoidsetPopulation(longpopulation){;//Iflengthofnameincountryobjectiseventhenreturn31(anyrandomnumber)andifoddthenreturn95(anyrandomnumber).//ThisisnotagoodpracticetogeneratehashcodeasbelowmethodbutTamdoingsotogivebetterandeasyunderstendingofhashmap.©OverridepublicinthashCode(){if(,length()%2==0)return31;elsereturn95;}©Overridepublicbooleanequals(Objectobj){Countryother二(Country)obj;if(((other,namc)))returntrue;returnfalse;}如果想了解更多关于Object对象的hashcode和equals方法的东西,可以参考:java中的hashcode()和equals()(mainclass);;lassHashMapStrueture{/***©authorArpitMandliya*/publicstaticvoidniain(St