java中实现HashMap中的按照key的字典顺序排序输出
public String sign1(Map params){ JSONObject header= JSONObject.fromObject(params); //获取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); //按字典排序 String unsign_params = sign1(header); System.out.println("字典排序后参数串为:"+ unsign_params);