关于Comparator比较器在Collections排序中的作用

来源:7-2 部门层级树接口开发

Echo鑫

2017-10-23

Collections.sort(rootList, new Comparator<DeptLevelDto>() {
   public int compare(DeptLevelDto o1, DeptLevelDto o2) {
       return o1.getSeq() - o2.getSeq();
   }
});

此处排序的原理是什么,Comparator<? super T> c  其中怎么根据c的值来判断是从小排序还是从大排序,是为true时为从小排序 还是为false是从小排序,另外DeptLevelDto o1, DeptLevelDto o2 取值顺序是按list集合中的先后顺序分配的吗

写回答

1回答

Jimin

2017-10-23

你好,底层实现时,就相当于我们在排序时,最终要放到两个对象的对比上,而两个对象哪个在前哪个在后取悦于这里compare的结果。至于谁在前谁在后,有个简单的方法,就是先写一个看看是否和预期一致,不一致时反过来就可以了。有时,返回0时要考虑更细节的排序,就是引入更多字段参与排序

0
1
Echo鑫
非常感谢!
2017-10-23
共1条回复

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程