Java 排序比较器(Android应用)
Java 排序比较器(Android应用)
網上介紹的步驟很亂,現把自己實現的步驟記錄一下,以備後用,當然更希望能給學習Java和Android的朋友提供一個實用的方法。
在項目工程中,我們會經常用到要把集合或者數組中的元素進行比較和排序。而Java提供的比較器給我們提供了一個很好的接口。下面是具體步驟:
1.新建你要排序的List,具體實現為如:ArrayList,加入數據,這裡的數據是裡面要存放的對象,如我要對android的一些文件進行排序,就定義了:
private List<FileProperty> mFileList; mFileList = new ArrayList<FileProperty>(); |
2.以為我要對文件排序,所以我新建了一個類。
public class FileProperty { File file; public FileProperty(File file) { super(); this.file = file; } public String getFileName() { return file.getName(); } } |
對每一個文件都初始化該類,當然你也許有其他的需求,但大同小異,這裡只是提供一個範例,你學會了就好。
3,接下來我們構造比較器。複寫比較器的Compare方法。
public class CompareFile implements Comparator<FileProperty> { String oneFileName, anotherFileName; int result; @Override public int compare(FileProperty object1, FileProperty object2) { // TODO Auto-generated method stub oneFileName = object1.getFileName(); anotherFileName = object2.getFileName(); switch (mSortMode) {
case MENU_SORT_BYNAME: result = oneFileName.compareToIgnoreCase(anotherFileName); break; default: break; } return result; } |
4.我們就可以用集合類的排序方法了。
Collections.sort(mFileList, new CompareFile()); |
若是數組的話:
Arrays.sort(數組, new CompareFile()); |
5.完成,測試!
评论暂时关闭