如何得到hashmap的索引.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HashMap的遍历两种常用的方法,那就是使用keyset及entryset来进行遍历 2010-07-20 15:38 839人阅读 评论(0) 收藏 举报 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { ??? Map.Entry entry = (Map.Entry) iter.next(); ??? Object key = entry.getKey(); ??? Object val = entry.getValue(); } 效率高,以后一定要使用此种方式! 第二种: Map map = new HashMap(); Iterator iter = map.keySet().iterator(); while (iter.hasNext()) { ??? Object key = iter.next(); ??? Object val = map.get(key); } 效率低,以后尽量少使用! 例: HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的,下面请看实例: public class HashMapTest { public static void main(String[] args) ...{ ? HashMap hashmap = new HashMap(); ? for (int i = 0; i 1000; i ) ...{ ?? hashmap.put( i, thanks); ? } ? long bs = Calendar.getInstance().getTimeInMillis(); ? Iterator iterator = hashmap.keySet().iterator();? ? while (iterator.hasNext()) ...{?? ?? System.out.print(hashmap.get(iterator.next())); ? } ? System.out.println(); ? System.out.println(Calendar.getInstance().getTimeInMillis() - bs); ? listHashMap(); } ? public static void listHashMap() ...{ ? java.util.HashMap hashmap = new java.util.HashMap(); ? for (int i = 0; i 1000; i ) ...{ ?? hashmap.put( i, thanks); ? } ? long bs = Calendar.getInstance().getTimeInMillis();? ? java.util.Iterator it = hashmap.entrySet().iterator(); ? while (it.hasNext()) ...{ ?? java.util.Map.Entry entry = (java.util.Map.Entry) it.next(); ?? // entry.getKey() 返回与此项对应的键 ?? // entry.getValue() 返回与此项对应的值 ?? System.out.print(entry.getValue()); ? } ? System.out.println(); ? System.out.println(Calendar.getInstance().getTimeInMillis() - bs); } } 对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。 到底keyset快还是entryset快,这个例子输出太多影响效果,改一下例子。 Java代码 public?class?HashMapTest?{???? ?? ????private?static?int?MAXKEY?=?1234567; ?? ????public?static?void?main(String[]?args)?{ ?? ????????HashMap?hashmap?=?new?HashMap(); ?? ??

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档