在代码

时间:2018-01-31 09:16:20

标签: android list sorting

我正在尝试根据下面列出的练习名称对模型类列表进行排序:

  

练习6,练习3,练习02,练习01

添加排序代码后,列表数据如下所示

  

练习3,练习6,练习01,练习02

需要的结果是

  

练习01,练习02,练习3,练习6

以下是用于排序列表数据的代码

Collections.sort(exerciseList, new Comparator<Exercise>() {
    @Override
    public int compare(Exercise exercise, Exercise exercise1) {
        return exercise.getExercise().compareTo(exercise1.getExercise());
    }
});

任何帮助都很明显在此先感谢。

1 个答案:

答案 0 :(得分:1)

这是一个用于解决目的的自定义比较器。

Collections.sort(keyList, new Comparator<String>()
{
    @Override
    public int compare(String s1, String s2)
    {
        s1 = s1.replaceAll("[^\\d]", "" );
        s2 = s2.replaceAll("[^\\d]", "" );
        Integer val1 = Integer.parseInt(s1);
        Integer val2 = Integer.parseInt(s2);
        return val1.compareTo(val2);
    }
});