Map<Integer ,Object> map = new HashMap<Integer,Object>();
for(int i = 0; i<=100;i++){
map.put(i,i);
}
Iterator<Entry<Integer, Object>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer ,Object> entry = (Entry<Integer ,Object>)iterator.next();
Object key = entry.getKey();
Object value = entry.getValue(); }
第一种: 
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 按value排序

  最近开发中用到了HashMap ,而且想到要利用其value的大小排序。。真是个伤脑筋的问题。
还好,经过查阅各个地方的资料。发现这个下边的代码处理是最简单有效的。代码很少,却达到目的了。
一般我坚持的一个原则的是:能简单处理的,尽量不做复杂工作。
关键代码部分如下:
HashMap map_Data=new HashMap();
    map_Data.put("A", "98");
    map_Data.put("B", "50");
    map_Data.put("C", "50");
    map_Data.put("D", "25");
    map_Data.put("E", "85");
    System.out.println(map_Data);
    List<Map.Entry<String, String>> list_Data = new ArrayList<Map.Entry<String, String>>(map_Data.entrySet());
    Collections.sort(list_Data, new Comparator<Map.Entry<String, String>>()
      {  
          public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2)
          {
           if(o2.getValue()!=null&&o1.getValue()!=null&&o2.getValue().compareTo(o1.getValue())>0){
            return 1;
           }else{
            return -1;
           }
             
          }
      });
    System.out.println(list_Data);
主要的一个知识点在这个Collections.sort(list,Comparator接口实现)地方,而最最重要核心部分是这个Comparator实现

如何高效的遍历HashMap 以及对key 进行排序的更多相关文章

  1. 遍历 HashMap 的 5 种最佳方式

    使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap KeySet 使用 For-each 循环迭代 HashMap 使用 Lambda 表达式 ...

  2. 遍历hashMap的两种方式

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  3. java 中遍历hashmap 和hashset 的方法

    一.java中遍历hashmap:    for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {     String ...

  4. 使用多种方式实现遍历HashMap

    今天讲解的主要是使用多种方式来实现遍历HashMap取出Key和value,首先在java中如果想让一个集合能够用for增强来实现迭代,那么此接口或类必须实现Iterable接口,那么Iterable ...

  5. java遍历Hashmap/Hashtable的几种方法

    一>java遍历Hashtabe: import java.util.Hashtable; import java.util.Set; public class HashTableTest { ...

  6. 遍历hashMap对效率的影响

    测试环境:jdk1.7.0_79\Processor 1.7 GHz Intel Core i5 遍历Map的方式有很多,通常场景下我们需要的是遍历Map中的Key和Value. 写了两个方法: pu ...

  7. java遍历hashMap、hashSet、Hashtable

    一.遍历HashMap Map<Integer, String> map = new HashMap<Integer, String>(); 方法一:效率高 for(Entry ...

  8. Java遍历HashMap并修改(remove)(转载)

    遍历HashMap的方法有多种,比如通过获取map的keySet, entrySet, iterator之后,都可以实现遍历,然而如果在遍历过程中对map进行读取之外的操作则需要注意使用的遍历方式和操 ...

  9. 四种遍历hashMap的方法及比较

    学习怎样遍历Java hashMap及不同方法的性能. // hashMap的遍历 public void testHashMap() { Map<String, String> map ...

随机推荐

  1. Oracle的优化器的RBO和CBO方式

      1.基于规则的优化方式(Rule-Based Optimization,简称为RBO)       优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则,对数据是不敏感的.它只借助少 ...

  2. Struts2_day03--从值栈获取数据_EL表达式获取值栈数据(为什么)

    从值栈获取数据 1 使用struts2的标签+ognl表达式获取值栈数据 (1)<s:property value=”ognl表达式”/> 获取字符串 1 向值栈放字符串 2 在jsp使用 ...

  3. 复习及总结--.Net线程篇(2)

    复习总结 上一篇里讲到了使用委托异步调用的方式来使用多线程,这里介绍几个概念 这里贴出来一个关于应用程序域的帖子 http://www.cnblogs.com/firstyi/archive/2008 ...

  4. iOS开发之--获取验证码倒计时及闪烁问题解决方案

    大家在做验证码的时候一般都会用到倒计时,基本上大家实现的方式都差不多,先贴出一些代码来.. -(void)startTime{ __block ; //倒计时时间 dispatch_queue_t q ...

  5. .Net CCNet C#6.0 自动化编译问题解决

    一.问题描述 由于C#6.0一些新的语法特性,导致先前部署的CCNet持续集成平台出现问题,无论是手动还是命令行均不能编译.   二.解决方案 1.下载BuildTools_Full.exe,地址:h ...

  6. Maven clean命令不能执行问题Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project

    执行clean tomcat7:run时Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (de ...

  7. 面试题思考:web中关于一些容器基本概念的简单总结

    关键字:应用服务器.web服务器.web容器.jsp容器.servlet容器. 1.应用服务器: 作为应用程序服务器,要求可以通过各种协议(包括 HTTP 协议)把商业逻辑暴露给(expose)客户端 ...

  8. 一句css代码让网站变灰

    <style> html{ -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grays ...

  9. c#基础 第三讲

    Random r = new Random();                 string x, y;             while (true)             {         ...

  10. Opengl编程指南第二章:状态管理、几何绘图

    //http://blog.csdn.net/longhuihu/article/details/7701874 1.绘图基础 清除窗口 glClearColor(0.0, 0.0, 0.0, 0.0 ...