Java函数式编程(九):Comparator
Comparator接口的身影在JDK库中随处可见,从查找到排序,再到反转操作,等等。为了兼容这个,我们的lambda表达式也接收两个参数,两个Person对象,它们的类型是由编译器自动推导的。我们返回一个int类型,表明比较的对象是否相等。sorted()方法会遍历目标集合的每个元素并调用指定的Comparator,来确定出元素的排序顺序。sorted()方法的执行方式有点类似前面说到的reduce()方法。结果应该是按他们的年龄由从大到小排列的。这个方法同样也接受一个Comparator,不过返回的是集合中最小的对象。我们来看下Comparator接口提供了哪些方便的新方法,并用它们来进行多个属性的比较。comparing()方法使用传入的lambda表达式来生成一个Comparator对象。也就是说,它也是一个高阶函数,接受一个函数入参并返回另一个函数。
下载地址
用户评论