Java 找到一些使用数组进行排序的代码。Sort()

Java 找到一些使用数组进行排序的代码。Sort(),java,arrays,sorting,Java,Arrays,Sorting,因此,我试图制作一个java程序,用java中的遗传算法求解。我在对染色体的适合度值进行排序时遇到了问题,然后我发现这段代码与我的其他代码完美结合: public void sortChromosomeByFitness(){ Arrays.sort(chrom,(chrom1,chrom2) -> { int flag = 0; if(chrom1.getFitness() > chrom2.getFitness())

因此,我试图制作一个java程序,用java中的遗传算法求解。我在对染色体的适合度值进行排序时遇到了问题,然后我发现这段代码与我的其他代码完美结合:

public void sortChromosomeByFitness(){
    Arrays.sort(chrom,(chrom1,chrom2) -> {

        int flag = 0;
        if(chrom1.getFitness() > chrom2.getFitness())
            flag=-1;
        else if (chrom1.getFitness() < chrom2.getFitness())
            flag=1;
        return flag;

    });
}
public void排序chromosomebyfitness(){
数组.排序(色度,(色度1,色度2)->{
int标志=0;
if(chrom1.getFitness()>chrom2.getFitness())
flag=-1;
else if(chrom1.getFitness()
有人能帮我解释一下代码的含义吗?特别是Arrays.sort(chrom,(chrom1,chrom2)->,以及该标志的作用是什么?谢谢你

这是一个用于接口的标记。
标志
只是该方法通常返回的值

它甚至可以被
Comparator.comparating(chromose::getFitness)
替换,如果该类被称为
chromose