static String mapSortedByKey(Map<String, String> param) {
StringBuilder stringBuilder = new StringBuilder();
ArrayList<String> keyList = new ArrayList<>(param.keySet());
Collections.sort(keyList);
for (int i = 0; i < keyList.size(); i++) {
String key = keyList.get(i);
if (i == keyList.size() - 1) {
stringBuilder.append(key).append("=").append(param.getOrDefault(key, ""));
} else {
stringBuilder.append(key).append("=").append(param.getOrDefault(key, "")).append("&");
}
}
return stringBuilder.toString();
}
測試:
Map<String, String> param = new HashMap<>();
param.put("type", "1");
param.put("user_mobile", "2");
param.put("full_name", "3");
param.put("id_no", "4");
param.put("secret", "5");
System.out.println(mapSortedByKey(param));