private final static Comparator<Object> COM= Collator.getInstance(java.util.Locale.CHINA);
public static String sortParam(Map<String, String[]> params) {
String[] paramKeys = new String[params.keySet().size()];
int idx = 0;
Iterator<String> var = params.keySet().iterator();
while (true)
{
if (!var.hasNext()) {
List<String> pk = Arrays.asList(paramKeys);
pk.sort(COM);
StringBuilder builder = new StringBuilder();
for (String key : pk) {
String[] values = params.get(key);
if ((values != null) && (values.length > 0)) {
List<String> list = Arrays.asList(values);
list.sort(String::compareTo);
for (String val : values) {
builder.append(key).append("=").append(val);
}
} else {
builder.append(key).append("=");
}
}
return builder.toString();
}
String param = var.next();
paramKeys[(idx++)] = param;
}
}
COM根据自己的功能不同,排序方式不同