比较的是MAP的时候
大于是升序排序,小于是降序
Collections.sort
方法底层就是调用的array.sort
//如果是对象则将所有HashMap<String, Object>换成对象即可,当然,if里获取值的方式也要进行修改
Collections.sort(clList, new Comparator<HashMap<String, Object>>() {
@Override
public int compare(HashMap<String, Object> o1, HashMap<String, Object> o2) {
if(!o1.isEmpty()&&!o2.isEmpty()) {
if(Integer.parseInt(o1.get("serialnumber")+"")>Integer.parseInt(o2.get("serialnumber")+"")){
return 1;
}
if(o1.get("serialnumber")==o2.get("serialnumber")){
return 0;
}
return -1;
}else {
return 0;
}
}
});
return clList;
List中是实体类的时候
大于是升序排序,小于是降序
List sortByLocationCode(List clList){
Collections.sort(clList, new Comparator<RfTaskDetail>() {
@Override
public int compare(RfTaskDetail rftd1, RfTaskDetail rftd2) {
if(rftd1 && rftd2) {
return rftd1.fromLoc > rftd2.fromLoc ? 1 : (rftd1.fromLoc.equalsIgnoreCase(rftd2.fromLoc) ? 0 : -1)
}else {
return 0;
}
}
});
return clList;
}
Arrays.sort排序
使用demo
byte [] bytes = body.toCharArray()
Arrays.sort(bytes)
Arrays.sort(bytes , new Comparator() {
@Override
int compare(Object o, Object t1) {
return 0
}
})
再配个demo
class Solution {
public boolean CheckPermutation(String s1, String s2) {
if(null == s1 || null == s2){
return false;
}
if(s1.length() != s2.length()){
return false;
}
return checkStr(s1, s2);
}
boolean checkStr(String str1, String str2){
char [] char1 = str1.toCharArray();
char [] char2 = str2.toCharArray();
Arrays.sort(char1);
Arrays.sort(char2);
for(int i = 0;i < char1.length;i ++){
if(char1[i] != char2[i]){
return false;
}
}
return true;
}
}
demo来自力扣
https://leetcode-cn.com/problems/check-permutation-lcci/