public static List<String> sortByStringSuffixal(List<String> list) {
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int len1 = o1.length();
int len2 = o2.length();
int i = len1 - 1;
int j = len2 - 1;
for ( ; i >= 0 && j >= 0; --i, --j) {
if (o1.charAt(i) > o2.charAt(j)) {
return 1;
} else if (o1.charAt(i) < o2.charAt(j)) {
return -1;
}
}
if (i >= 0) {
return 1;
}
if (j >= 0) {
return -1;
}
return 0;
}
});
return list;
}
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int len1 = o1.length();
int len2 = o2.length();
int i = len1 - 1;
int j = len2 - 1;
for ( ; i >= 0 && j >= 0; --i, --j) {
if (o1.charAt(i) > o2.charAt(j)) {
return 1;
} else if (o1.charAt(i) < o2.charAt(j)) {
return -1;
}
}
if (i >= 0) {
return 1;
}
if (j >= 0) {
return -1;
}
return 0;
}
});
return list;
}