-
4
查看全部 -
3
查看全部 -
?2
查看全部 -
什么是Lambda
查看全部 -
123查看全部
-
123查看全部
-
lambda表達式的基本語法
聲明:就是和lambda表達式綁定的接口類型
參數:包含在一對圓括號中,和綁定的接口中的抽象方法中的參數個數及順序一致
操作符;->
執行代碼塊:包含在一對大括號中,出現在操作符的右側
[接口聲明]=(參數)-> {執行代碼塊}
注:lambda表達式,必須和接口進行綁定
????????lambda表達式的參數,可以附帶0個到n個參數,括號中的參數類型可以不用指定,jvm在運行時,會自動根據綁定的抽象方法中的參數進行推廣
????????lambda表達式的返回值,如果代碼只有一行,并且沒有大括號,不用寫return關鍵字,單行代碼的執行結果,會自動返回,如果添加了大括號,或多行代碼,必須通過return返回結果
//沒有參數,沒有返回值
interface ILambal{
????void test();}
//有參數,沒有返回值
interface ILambal{
????void test(String name,int age);}
//有參數有返回值
interface ILambal{
????int test(int x,int y);}
查看全部 -
java.util.function提供大量的函數式接口
Predicate 接受參數T對象,返回一個boolean類型結果
Consumer 接受參數T對象,沒有返回值
Function 接受參數T對象,返回R對象
Supplier 不接受任何參數,直接通過get獲取指定類型的對象
UnaryOperator 接口參數T對象,執行業務處理后,返回更新后的T對象
BinaryOperator接口接受兩個T對象,執行業務處理后,返回一個T對象
查看全部 -
總結查看全部
-
Stream常用api
查看全部 -
Stream常用api
查看全部 -
public static void main(String[] args) {
? ? ? ?List<Person> personList = new ArrayList<>();
? ? ? ?personList.add(new Person("kar","男",22));
? ? ? ?personList.add(new Person("nioa","女",15));
? ? ? ?personList.add(new Person("duola","男",32));
? ? ? ?personList.add(new Person("miky","女",55));
? ? ? ?personList.add(new Person("sisi","男",44));
? ? ? ?personList.add(new Person("holy","女",42));
? ? ? ?//原始方法
// ? ? ? ?Collections.sort(personList, new Comparator<Person>() {
// ? ? ? ? ? ?@Override
// ? ? ? ? ? ?public int compare(Person o1, Person o2) {
// ? ? ? ? ? ? ? ?return o1.getAge() - o2.getAge();
// ? ? ? ? ? ?}
// ? ? ? ?});
// ? ? ? ?System.out.println(personList);
? ? ? ?//lambda方法
// ? ? ? ?Collections.sort(personList,(o1, o2) -> o1.getAge() - o2.getAge());
// ? ? ? ?System.out.println(personList);
? ? ? ?//lambda靜態方法使用
// ? ? ? ?Collections.sort(personList,Person::compareByAge);
// ? ? ? ?System.out.println(personList);
? ? ? ?//lambda實例方法引用
? ? ? ?Person person = new Person();
? ? ? ?Collections.sort(personList,person::compareByAge2);
? ? ? ?System.out.println(personList);
? ? ? ?//構造方法引用
? ? ? ?InitPerson initPerson = Person::new;
? ? ? ?initPerson.initPerson("張三","男",123);查看全部 -
深入理解lambda表達式
查看全部 -
方法重載和lambda表達式
查看全部 -
類型檢查
查看全部
舉報