我有一个文件的arraylist。我想根据文件名对所有文件进行排序。
当我将Collections.sort(files);
应用于arraylist后,给出了结果。
(files =文件的arraylist)
/data/data/com.threepi.icheops/files/xxx/image_1_0.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_1.jpg,/data/data/com.threepi。 icheops / files / xxx / image_1_10.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_11.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_2.jpg,/ data /data/com.threepi.icheops/files/xxx/image_1_3.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_4.jpg,/data/data/com.threepi.icheops/files/xxx /image_1_5.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_6.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_7.jpg,/ data / data / com。 threepi.icheops / files / xxx / image_1_8.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_9.jpg
我希望这些文件是这样的。
/data/data/com.threepi.icheops/files/xxx/image_1_0.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_1.jpg,/data/data/com.threepi。 icheops / files / xxx / image_1_2.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_3.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_4.jpg,/ data /data/com.threepi.icheops/files/xxx/image_1_5.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_6.jpg,/data/data/com.threepi.icheops/files/xxx /image_1_7.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_8.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_9.jpg,/ data / data / com。 threepi.icheops / files / xxx / image_1_10.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_11.jpg
任何想法如何做到这一点。
答案 0 :(得分:1)
这是一个想法..
实现Comparator接口并实现/使用compare()方法。
在你的比较方法中,基于“_”分割字符串...在arr [2]中你将获得0,1,2 ... 10,11 ..现在使用int i= Integer.parseInt(arr[2])
将这些解析为整数..并且根据这些整数值对你的字符串进行排序......
答案 1 :(得分:0)
您可以使用CustomComparator
public class CustomComparator implements Comparator<MyObject> {
@Override
public int compare(MyObject o1, MyObject o2) {
return o1.getStartDate().compareTo(o2.getStartDate());
}
}
然后使用
Collections.sort(arrayList, new CustomComparator());
答案 2 :(得分:-1)
你应该尝试重命名下一个名字的文件,因为当你对一个字符串进行排序时,它与一个数字不同:
/data/data/com.threepi.icheops/files/xxx/image_1_00.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_01.jpg,/data/data/com.threepi。 icheops / files / xxx / image_1_02.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_03.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_04.jpg,/ data /data/com.threepi.icheops/files/xxx/image_1_05.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_06.jpg,/data/data/com.threepi.icheops/files/xxx /image_1_07.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_08.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_09.jpg,/ data / data / com。 threepi.icheops / files / xxx / image_1_10.jpg,/data/data/com.threepi.icheops/files/xxx/image_1_11.jpg