【发布时间】:2015-10-19 02:00:36
【问题描述】:
所以我得到了一个简单的数组列表,我想按字母顺序排序,这部分我记下来了。没问题,问题是,名单上的名字前面有一个身份证号码。我需要根据字母对其进行排序。任何帮助表示赞赏,请参见下文。
student.add("01, Pentecoast");
student.add("02, Walker");
student.add("03, Smith");
student.add("04, Gonzalez");
student.add("05, Kylekorn");
student.add("06, Queen");
student.add("07, Divan");
student.add("08, Homero");
student.add("09, Flanders");
student.add("10, Simpsons");
我的排序方式是:
Collections.sort(students, String.CASE_INSENSITIVE_ORDER);
但他们的数字正在路上。
【问题讨论】:
-
您可以创建一个自定义的
Comparator,它将拆分您的字符串并根据第二个令牌进行比较。 -
我不知道该怎么做。
-
更好的方法是创建自己的
Student类,而不是使用逗号分隔的字符串来表示学生。然后,您可以选择在您的Student中实现Comparable(根据名称进行比较)或使用Comparator
标签: java sorting arraylist collections