zoukankan      html  css  js  c++  java
  • map排序

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.LinkedHashMap;
    import java.util.Map;
    import java.util.Map.Entry;
    
    public class MapSort {
        /**此方法实现Map排序*/
    public static Map getQueryMap(Map oldMap){
        ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(oldMap.entrySet());  
        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {  
    
            @Override  
            public int compare(Entry<java.lang.String, Integer> arg0,  
                    Entry<java.lang.String, Integer> arg1) {  
                return arg0.getValue() - arg1.getValue();  
            }  
        });  
        Map newMap = new LinkedHashMap();  
        for (int i = 0; i < list.size(); i++) {  
            newMap.put(list.get(i).getKey(), list.get(i).getValue());  
        }  
        return newMap;  
    }
    }
    //这是定时器,在此方法里直接调用map排序方法
    public
    void run(){ System.out.println("心跳定时器"); long obtainTime=System.currentTimeMillis()/1000; int currentTime=(int) obtainTime; Map map=new HashMap(); map=CacheTime.getInstance().getCacheItems(); map= mapsort.getQueryMap(map); Iterator<Map.Entry<String,String>> it=map.entrySet().iterator(); while(it.hasNext()){ Map.Entry<String,String> entry=it.next(); String key=String.valueOf(entry.getKey()); String value=String.valueOf(entry.getValue()); int dateTime=Integer.parseInt(value); int difTime=(currentTime-dateTime)/60; if(difTime>1){ it.remove(); } } }

    此方法,本人用于在定时器里面使用,场景:某类方法里面,将用户token存到全局map缓存里面,在定时器里获取map,并排序,如果是掉线这样的吗,直接从map剔除,排序会将效率提高。

    JAVA修炼塔,技术世界的探知与交流,欢迎你的加入-----群号:535296702
  • 相关阅读:
    telnet发邮件
    怎样接收电子邮件(POP3协议简介)(转载,写的很简洁)
    总结:string,char*,CString,int,WCHAR*之间的相互转换:
    文件查找
    SOAP消息机制简介
    jQuery 万能的选择器 NO.1
    数据库通用操作类
    jQuery (三) 管理jQuery包装集
    WebService Learning
    使用JQuery读取XML文件数据
  • 原文地址:https://www.cnblogs.com/emperorking/p/7085238.html
Copyright © 2011-2022 走看看