Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较器接口中的比较方法_Java_Comparator_Functional Interface - Fatal编程技术网

Java 比较器接口中的比较方法

Java 比较器接口中的比较方法,java,comparator,functional-interface,Java,Comparator,Functional Interface,我想从函数接口显式地实现“apply”方法。我有以下代码,如何使用匿名类为“apply”方法提供实现。只是想知道背景里发生了什么 public static void main(String[] args) { double[][] doubles = {{5.0, 4.0}, {1.0, 1.0}, {4.0, 6.0}}; Function<double[],Double> keyExtractor = a->a[0]; Comparator&l

我想从函数接口显式地实现“apply”方法。我有以下代码,如何使用匿名类为“apply”方法提供实现。只是想知道背景里发生了什么

public static void main(String[] args) {

    double[][] doubles = {{5.0, 4.0}, {1.0, 1.0}, {4.0, 6.0}};

    Function<double[],Double> keyExtractor = a->a[0];
    Comparator<double[]>comparator = Comparator.comparing(keyExtractor);

    Arrays.sort(doubles,comparator);

    for(double[] val: doubles)
        System.out.println(Arrays.toString(val));

}
publicstaticvoidmain(字符串[]args){
double[]double={{5.0,4.0},{1.0,1.0},{4.0,6.0};
函数keyExtractor=a->a[0];
Comparatorcomparator=比较器。比较(keyExtractor);
数组。排序(双精度、比较器);
对于(双[]值:双)
System.out.println(Arrays.toString(val));
}

使用匿名类实现
apply
方法:

    Function<double[], Double> keyExtractor = new Function<double[], Double>() {
            @Override
            public Double apply(double[] t) {
                // TODO Auto-generated method stub
                return t[0];
            }
        };
函数keyExtractor=新函数(){
@凌驾
公开双申请(双[]t){
//TODO自动生成的方法存根
返回t[0];
}
};

查找“单一抽象方法”的意义。a->a[0]是应用方法的实现。