java的排序需要自己重写Comparator这个方法,按自己想要的顺序排列,下面介绍几种不同方式的排序
String中的排序
按字母的英文顺序
public class String implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
}
按时间的顺序排序
这里的时间要先转换为long类型的跟按id排序有些类似
public class TimeSort implements Comparator<Time> {
@Override
public int compare(Time o1, Time o2) {
return (int) (o1 - o2);
}
}
下面介绍在输入输出的时候的排序
Collections.sort(mFiles, new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
// 文件夹在前
// 两个文件是否是文件夹
// -1 0 1
return (o1.isDirectory() ? 1 : -1)
- (o2.isDirectory() ? 1 : -1);
}
});
//2.大小排序
Collections.sort(mFiles,new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return (int) (o1.length() - o2.length());
}
});
//3.按名字排序
Collections.sort(mFiles,new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return o1.getName().compareTo(o2.getName());
}
});
集合排序
Collections.sort(mList, new Comparator<IGetString>() {
@Override
public int compare(IGetString o1, IGetString o2) {
return o1.getString().compareTo(o2.getString());
}
});