1. 程式人生 > >java中實現HashMap中的按照key的字典順序排序輸出

java中實現HashMap中的按照key的字典順序排序輸出

      public String sign1(Map params){

   JSONObject     reqObj = JSONObject.fromObject(params);
   JSONObject header= (JSONObject)reqObj.get("header");
   //獲取header元素集合
   Iterator headerIt = header.keys(); 
   List<String> list = new ArrayList<String>();
   //把header元素集合迭代 出 "param=value"形式字串放入list集合中
   while (headerIt.hasNext()) {  
       String param = headerIt.next().toString();  
       String value = header.getString(param);  
         
       if(value == null){                
           continue ;        
       }else if("".equals(value.trim())){                
           continue ; 
       }else if("sign".equals(param.trim())){                
           continue ;     
       }else{  
        list.add(param+"="+value);
       }  
   }  
   
   Collections.sort(list);
   String paramStr="";
   //迭代list拼裝簽名sign
   for(int i=0;i<list.size();i++){
   if(i!=list.size()-1){
   paramStr+=list.get(i)+"&";
   }
   else{
   paramStr+=list.get(i);
   }
   }
   String signStr =paramStr;
   return signStr;

}

//引數

Map header = new HashMap();

header.put("b",b);
header.put("
a",a);
Map pm = new HashMap();
pm.put("header", header);
//按字典排序
String unsign_params = sign1(pm);

System.out.println("字典排序後引數串為:"+ unsign_params);

如果你是湖南的 歡迎加入 湖南人在深圳-Java群:557651502