代码拉取完成,页面将自动刷新
这里是将json格式的字符串转化为按字母升序或降序排列生成签名原串,使用选择排序算法进行排序
/**
* Created By zby on 14:55 2019/3/6
* 获取升序排序后的值
*
* @param jsonObject json格式的数据
* @param isAsc true 升序 false 降序
*/
public static List<String> keySort(JSONObject jsonObject, boolean isAsc) {
if (null == jsonObject && jsonObject.size() <= 0) {
return null;
}
List<String> keyList = new ArrayList<>(jsonObject.keySet());
if (null != keyList && keyList.size() > 0) {
for (int i = 0; i < keyList.size() - 1; i++) {
for (int j = 0; j < keyList.size() - (i + 1); j++) {
KeysUtil test = new KeysUtil(keyList, j).invoke();
String currKey = test.getCurrKey();
String afterKey = test.getAfterKey();
char[] currKeyChars = test.getCurrKeyChars();
for (int k = 0; k < currKeyChars.length; k++) {
//保证当前字符是有效字符,即在26个字母之中,不在,直接放到后面
if (CharUtil.validateLetter(currKeyChars[k])) {
// 小于,不用排序,直接跳出
if (currKeyChars[k] < afterKey.charAt(k)) {
if (isAsc) {
break;
} else {
if (CharUtil.validateLetter(afterKey.charAt(k))) {
keyList.set(j, afterKey);
keyList.set(j + 1, currKey);
}
}
// 等于,跳过此循环
} else if (currKeyChars[k] == afterKey.charAt(k)) {
continue;
// 大于,看清而定
} else {
if (isAsc) {
if (CharUtil.validateLetter(afterKey.charAt(k))) {
keyList.set(j, afterKey);
keyList.set(j + 1, currKey);
}
}
break;
}
} else {
if (isAsc) {
keyList.set(j, afterKey);
keyList.set(j + 1, currKey);
}
break;
}
}
}
}
}
return keyList;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。