package com.kidgrow.common.utils; import java.net.URLEncoder; import java.util.*; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* * @Description: 排序工具类
* @Project:
* @CreateDate: Created in 2020/2/4 13:58
* @Author: liuke */ public class SortUtils { public static Map orderParam(Map map) { HashMap tempMap = new LinkedHashMap(); List> infoIds = new ArrayList>(map.entrySet()); Collections.sort(infoIds, new Comparator>() { public int compare(Map.Entry o1, Map.Entry o2) { return (o1.getKey()).toString().compareTo(o2.getKey()); } }); for (int i = 0; i < infoIds.size(); i++) { Map.Entry item = infoIds.get(i); tempMap.put(item.getKey(), item.getValue()); } return tempMap; } /** * @param param 参数 * @return */ public static String formatUrlParam(Map param) { String params = ""; Map map = param; try { List> itmes = new ArrayList>(map.entrySet()); //对所有传入的参数按照字段名从小到大排序 //Collections.sort(items); 默认正序 //可通过实现Comparator接口的compare方法来完成自定义排序 Collections.sort(itmes, new Comparator>() { @Override public int compare(Map.Entry o1, Map.Entry o2) { // TODO Auto-generated method stub return (o1.getKey().toString().compareTo(o2.getKey())); } }); //构造URL 键值对的形式 StringBuffer sb = new StringBuffer(); for (Map.Entry item : itmes) { if (StringUtils.isNotBlank(item.getKey())) { String key = item.getKey(); if(!"sign".equals(key)) { String val = item.getValue(); val = URLEncoder.encode(val, "UTF-8"); sb.append(val); } } } params = sb.toString(); } catch (Exception e) { return ""; } return params; } }