有两种实现方式:
- 调用Collections.sort(list);
- 自己实现
import java.util.*;
public class Demo05 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("abcd");
list.add("abc");
list.add("cab");
list.add("acb");
// Collections.sort(list); //第一种方式
list.sort(new Comparator<String>(){
@Override
public int compare(String o1,String o2){
char[] chs1 = o1.toCharArray();
char[] chs2 = o2.toCharArray();
int index = 0;
while (index < chs1.length && index < chs2.length) {
if (chs1[index] != chs2[index]) {
return chs1[index] - chs2[index];
} else {
index++;
}
}
if (index == chs1.length) {
return -1;
}
if (index == chs2.length) {
return 1;
}
return 0;
}
});
for (String str : list) {
System.out.println(str);
}
}
}