add(new Student("小刚",3)); list.add(new Student("小鸡",5)); list.add(new Student("小狗",2)); //使用Collections集合工具类进行排序 Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { //升序排序,降序反写 return o1.getAge()-o2...
publicclassListSortExample{publicstaticvoidmain(String[]args){// 创建并初始化 ListList<Person>list=newArrayList<Person>(){{add(newPerson(1,30,"北京"));add(newPerson(2,20,"西安"));add(newPerson(3,40,"上海"));}};// 使用 Comparable 自定的规则进行排序Collections.sort(list);// 打印 list...
1.对于最简单的情况,就是要被排序的类实现一个Comparable接口,然后实现compare方法,按照自然的方式进行减运算,返回减运算的结果,然后直接使用Collections.sort(List list)方法就行了。这一种叫做自然排序,只适合原始的List和Set。 2.如果你不想使用自然排序,没问题,那么就定义一个Comparator对象,将逻辑在那里面去实现...
//按birthDate排序 sortList.Sort(list, "getBirthDatestr", null); System.out.println("---按birthDate排序---"); for(UserInfo user : list){ System.out.println(user.toString()); } } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21....
}//方法一,对象实现Comparable接口@TestpublicvoidbyImplements(){// Collections.sort(list);System.out.println("排序后:"+list); }/*方法二,添加比较器*/@TestpublicvoidbyOverideCompare(){ Collections.sort(list,newComparator<Student>() {@Overridepublicintcompare(Student o1, Student o2){returno1.get...
三、对集合进行正序排序 为了按照年龄的升序排列这些Person对象,我们可以使用Collections.sort()方法,并为其提供一个Comparator。 importjava.util.Collections;publicclassMain{publicstaticvoidmain(String[]args){List<Person>people=newArrayList<>();people.add(newPerson("Alice",30));people.add(newPerson("Bob",...
复杂对象 当List中的对象比较复杂,当默认的排序无法满足需求的时候,可以使用Comparator接口,Comparator可以...
* @param list List对象 * @param sortField 排序的属性名称 * @param sortMode 排序方式:ASC,DESC 任选其一 */ public static <T> void sortList(List<T> list, final String sortField, final String sortMode) { Collections.sort(list, new Comparator<T>() { ...
对如下List中的数据进行排序,先按照finishLessonCount进行排序,如果finishLessonCount相同,则按照姓名进行排序 如下是List中的对象实体 @DatapublicclassTeacherLessonStatistics{privateintteacherId;privateStringname;privateintfinishLessonCount;privateinttotalScore;privateintranking;privatebooleanisClassAdmin;} ...