jdk8_lambda式

1.背景:

パッケージcom.zhangwl.pg0922.pg02_Jdk8.Lambda.pkg01; 

輸入はjava.util.Comparator。

/ **
* @ClassName LengthComparator
* @description定制一个比较器用于排序
*の@author zhangwl
* @Date 2019年9月22日21:53
* @Version 1.0
** /
パブリッククラスLengthComparatorは、コンパレータ<文字列>を実装{

@Override
公衆INT {(文字列O1、O2文字列)を比較
)(o1.length返す- o2.lengthを();
}
}


asList(strArr))。    }




















}

結果:

前にソート文字列の配列:[BCC、AC、でcaad、 B]
ソート後の文字列の配列:[B、交流、BCC、でcaad]

 jdk8前に、Javaは直接容易ではない送信のコードセグメントまたはコードのセグメントを送信しない、Java言語は、オブジェクト指向であり、それはオブジェクトを構築する必要があり、この方法は、このオブジェクト、メソッドのクラスに含まれなければなりませんこれは、必要なコードセグメントを含むことができ、そのラムダ式が生まれました。

 ラムダ式は、実際には、例えば、可変コードセグメントおよびコード仕様に合格しなければならない:(文字列、列B) - > {A + B}。式を持つラムダ式は、匿名の内部クラスということを示すパラメータです。 

2、ケースプレゼンテーション:

com.zhangwl.pg0922.pg02_Jdk8.Lambda.pkg02パッケージ; 

インポートjava.util.Arrays;

/ **
* @ClassName LambdaRunMain
カスタムコンパレータ目的ソートされた文字列配列を使用して* @descriptionラムダ式
* @Author zhangwl
@date 2019年9月22日23時41 *
* @Version 1.0
** /
パブリッククラスLambdaRunMain {

パブリック静的無効メイン(文字列[] args){

文字列[] = strArr新しい新しいString [] { "BCC"、 "AC" 、 "CAAD"、 "B"};
のSystem.out.println( "文字列のソートされた配列の前に" +は、Arrays.asList(strArr));
は、Arrays.sort(strArrは、(第一、第二) - > {
まず返します.LENGTH() - second.length();
});
のSystem.out.println( "文字列の後にソートされた配列:" +は、Arrays.asList(strArr)) 。
}
}

結果:

前にソート文字列の配列:[BCC、AC、でcaad、 B]
ソート後の文字列の配列:[B、交流、BCC、でcaad]

 

おすすめ

転載: www.cnblogs.com/sico/p/11569997.html