这里写自定义目录标题
ASCII码从小到大排序
用ASCII码按照字典序从小到大对参数名进行排序,并输出为字符串。
import java.util.*;
public class StringSortingUtil {
public static void main(String[] args) {
// 示例用法
Map<String, String> params = new HashMap<>();
params.put("appid", "asdfdadfasd");
params.put("unionId", "ffeefefefe");
params.put("bankId", "ewwfwf");
String sortedResult = sortAndFormatParams(params);
System.out.println("按字典序排序后的参数和字符串:");
System.out.println(sortedResult);
}
public static String sortAndFormatParams(Map<String, String> params) {
// 将Map转换为List以便排序
List<Map.Entry<String, String>> entries = new ArrayList<>(params.entrySet());
// 使用自定义的Comparator按照字符串的字典序(ASCII码顺序)排序
entries.sort(new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> entry1, Map.Entry<String, String> entry2) {
return entry1.getValue().compareTo(entry2.getValue());
}
});
// 构建格式化后的字符串
StringBuilder sortedString = new StringBuilder();
for (Map.Entry<String, String> entry : entries) {
sortedString.append(entry.getKey()).append(": ").append(entry.getValue()).append(", ");
}
// 删除末尾多余的逗号和空格
if (sortedString.length() > 0) {
sortedString.delete(sortedString.length() - 2, sortedString.length());
}
return sortedString.toString();
}
}