Comparator中compare方法的使用
- 首先要明确Comparator是一个函数式接口(有@FunctionalInterface注解),说明可以使用Lambda表达式完成比较操作,并且其中T指的是你要比较的类型

- 在这个接口中必须要实现的方法是int compare(T o1, T o2);
int compare(T o1, T o2);
- 这里详细解释一下比较规则,如果在一个list集合{1, 0, 0, 2}中选这种比较规则,o1是每次要进行比较的参数,o2是每次新来的参数,举个例子:o1会一直是第一个元素1不会变,每次比完以后,o2都会进行替换,依次替换为:0, 0, 2
- 这里要返回的是一个int值,如果返回为true,o2会在o1的上面,返回为false,o2会在o1的下面,反正每次比较都是在和o1进行比较
- 排序规则:如果传递的参数是第一个是o1,第二个是o2,比较的时候也是用o1-o2进行比较,那么就是升序;如果比较的时候是用反过来o2-o1进行比较,那么就是降序
博客介绍了Comparator中compare方法的使用。Comparator是函数式接口,可用Lambda表达式完成比较操作。详细解释了比较规则,以list集合为例说明o1和o2的含义,还说明了返回值与元素位置的关系,以及升序和降序的比较方式。
3689

被折叠的 条评论
为什么被折叠?



