国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java- Lambda表達(dá)式

這篇具有很好參考價(jià)值的文章主要介紹了Java- Lambda表達(dá)式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

一、Lambda簡(jiǎn)介

二、Lambda使用前提

三、Lambda語(yǔ)法

1.操作符

a."->"

?b."::"

2.格式?

a.無(wú)參數(shù)

b.有參數(shù)

四、Lambda演化過(guò)程

五、Lambda實(shí)現(xiàn)排序


一、Lambda簡(jiǎn)介

Lambda 表達(dá)式,也可稱(chēng)為閉包,它是推動(dòng) Java 8 發(fā)布的最重要新特性。Lambda 允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中)。使用 Lambda 表達(dá)式可以使代碼變的更加簡(jiǎn)潔緊湊??梢园袻ambda表達(dá)式理解為簡(jiǎn)潔的表示可傳遞的匿名函數(shù)的一種方式:它沒(méi)有名稱(chēng),但它有參數(shù)列表,函數(shù)主體,返回類(lèi)型。

二、Lambda使用前提

接口有且僅有一個(gè)抽象方法才能使用lambad表達(dá)式。函數(shù)式接口是指,有且僅有一個(gè)抽象方法的接口。?

三、Lambda語(yǔ)法

1.操作符

a."->"

java中,引入了一個(gè)新的操作符“->”,稱(chēng)為L(zhǎng)ambda操作符;箭頭操作符將Lambda分成了兩個(gè)部分。

左側(cè):Lambda表達(dá)式的參數(shù)

右側(cè):Lambda表達(dá)式中所需要執(zhí)行的功能,即Lambda函數(shù)體,也可以是 Lambda 的返回值

?b."::"

方法引用使用的一對(duì)冒號(hào)?::?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-436138.html

2.格式?

a.無(wú)參數(shù)

() -> {statements;}
() -> expression;

b.有參數(shù)

(parameters) -> {statements;};
(parameters) -> expression;

四、Lambda演化過(guò)程

public interface Interface {
    public int add(int a);
}
public class Impl implements Interface {
    @Override
    public int add(int a) {
        return a + 1;
    }
}
public class Test {
    public static void main(String[] args) {

        Interface im1 = new Impl();
        int a = im1.add(20);
        System.out.println(a);// 外部類(lèi)


        class Impl2 implements Interface {
            public int add(int a) {
                return a + 1;
            }
        }
        Interface im2 = new Impl2();
        int a1 = im2.add(30);
        System.out.println(a1);// 內(nèi)部類(lèi)


        Interface im3 = new Interface() {
            public int add(int a) {
                return a;
            }
        };
        System.out.println(im3.add(40));// 匿名內(nèi)部類(lèi)


        Interface im4 = (b) -> {
            return b + 1;
        };// (b)方法
        System.out.println(im4.add(100));// 常規(guī)lambda


        Interface im5 = (b) -> b + 1;
        System.out.println(im5.add(200));// 簡(jiǎn)化lambda
        

        Test p1 = new Test();
        Interface im6 = p1::add;
        System.out.println(im6.add(1000));

    }

    public int add(int a) {
        return a + 1;
    }
}

五、Lambda實(shí)現(xiàn)排序

public class Dog {
    private int age;
    private String name;

    public Dog() {

    }

    public Dog(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return this.age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

    public String toString() {
        return "年齡:" + age + "  名字:" + name;
    }

}
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<Dog> list = new ArrayList<>();
        list.add(new Dog(5, "dog5"));
        list.add(new Dog(3, "dog3"));
        list.add(new Dog(2, "dog2"));
        list.add(new Dog(1, "dog1"));
        list.add(new Dog(4, "dog4"));

        list.sort(new Comparator<Dog>() {
            public int compare(Dog o1, Dog o2) {
                return o2.getAge() - o1.getAge();
            }
        });// 匿名內(nèi)部類(lèi)
        for (Dog dog : list) {
            System.out.println(dog);
        }

        System.out.println("-------------");

        list.sort((o1, o2) -> o1.getAge() - o2.getAge());// lambda表達(dá)式
        for (Dog dog : list) {
            System.out.println(dog);
        }
    }
}

到了這里,關(guān)于Java- Lambda表達(dá)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【javaSE】 Lambda表達(dá)式與Lambda表達(dá)式的使用

    【javaSE】 Lambda表達(dá)式與Lambda表達(dá)式的使用

    Lambda表達(dá)式是Java SE 8中一個(gè)重要的新特性。lambda表達(dá)式允許你通過(guò)表達(dá)式來(lái)代替功能接口。 lambda表達(dá)式就和方法一樣,它提供了一個(gè)正常的參數(shù)列表和一個(gè)使用這些參數(shù)的主體(body,可以是一個(gè)表達(dá)式或一個(gè)代碼塊)。 Lambda 表達(dá)式(Lambda expression) ,基于數(shù)學(xué)中的λ演算得名,也

    2024年02月08日
    瀏覽(27)
  • Java- Lambda表達(dá)式

    目錄 一、Lambda簡(jiǎn)介 二、Lambda使用前提 三、Lambda語(yǔ)法 1.操作符 a.\\\"-\\\" ?b.\\\"::\\\" 2.格式? a.無(wú)參數(shù) b.有參數(shù) 四、Lambda演化過(guò)程 五、Lambda實(shí)現(xiàn)排序 Lambda 表達(dá)式,也可稱(chēng)為閉包,它是推動(dòng) Java 8 發(fā)布的最重要新特性。Lambda 允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中)

    2024年02月03日
    瀏覽(27)
  • Lambda表達(dá)式(JAVA)

    Lambda表達(dá)式(JAVA)

    注:如果沒(méi)有學(xué)過(guò) 匿名內(nèi)部類(lèi) 和 接口 不推薦往下看。 (parameters) - expression 或 (parameters) -{ statements; } parameters:表示參數(shù)列表; -:可理解為“被用于”的意思; expression:表示一條語(yǔ)句; statements:表示多條語(yǔ)句。 Lambda可以理解為:Lambda就是匿名內(nèi)部類(lèi)的簡(jiǎn)化。 lambda表達(dá)式

    2024年02月08日
    瀏覽(28)
  • Java Lambda表達(dá)式

    1.1 函數(shù)式編程思想概括 在數(shù)學(xué)中,函數(shù)就是有輸入量、輸出量的一套計(jì)算方案,也就是“拿數(shù)據(jù)做操作” 面向?qū)ο笏枷霃?qiáng)調(diào)“必須通過(guò)對(duì)象的形式來(lái)做事情” 函數(shù)式思想則盡量忽略面

    2024年02月07日
    瀏覽(42)
  • Java Lambda 表達(dá)式

    Java Lambda 表達(dá)式

    ??wei_shuo的個(gè)人主頁(yè) ??wei_shuo的學(xué)習(xí)社區(qū) ??Hello World ! Java Lambda 表達(dá)式是 Java 8 引入的一種函數(shù)式編程特性,它是一種輕量級(jí)的匿名函數(shù),允許我們將函數(shù)作為方法的參數(shù)進(jìn)行傳遞。Lambda 表達(dá)式可以理解為是一種簡(jiǎn)潔的方式來(lái)表示可傳遞的代碼塊,它可以替代傳統(tǒng)的匿名內(nèi)

    2024年02月08日
    瀏覽(34)
  • 【JAVA】包裝類(lèi)、正則表達(dá)式、Arrays類(lèi)、Lambda表達(dá)式

    包裝類(lèi)是8種基本數(shù)據(jù)類(lèi)型對(duì)應(yīng)的引用類(lèi)型 作用:后期的集合和泛型不支持基本類(lèi)型,只能使用包裝類(lèi) 基本數(shù)據(jù)類(lèi)型和其對(duì)應(yīng)的引用數(shù)據(jù)類(lèi)型的變量可以互相賦值 基本數(shù)據(jù)類(lèi)型 引用數(shù)據(jù)類(lèi)型 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean 包裝類(lèi)

    2024年02月13日
    瀏覽(32)
  • java lambda表達(dá)式詳解

    java lambda表達(dá)式詳解

    我們知道,在Java中,接口是不能實(shí)例化的,但是接口對(duì)象可以指向它的實(shí)現(xiàn)類(lèi)對(duì)象。如果接口連實(shí)現(xiàn)對(duì)象都沒(méi)有呢?那還可以使用匿名類(lèi)的方式,如下: 復(fù)制 但是,使用匿名內(nèi)部的方式,代碼量其實(shí)并不是非常簡(jiǎn)潔,而為了使代碼更加的簡(jiǎn)潔,Java引進(jìn)了 Lambda 表達(dá)式的寫(xiě)法,

    2024年02月03日
    瀏覽(34)
  • Java學(xué)習(xí)——lambda表達(dá)式

    Java學(xué)習(xí)——lambda表達(dá)式

    什么是Lambda表達(dá)式? 可以將Lambda表達(dá)式理解為一個(gè)匿名函數(shù); Lambda表達(dá)式允許將一個(gè)函數(shù)作為另外一個(gè)函數(shù)的參數(shù); 我們可以把 Lambda 表達(dá)式理解為是一段可以傳遞的代碼(將代碼作為實(shí)參),也可以理解為函數(shù)式編程, 將一個(gè)函數(shù)作為參數(shù)進(jìn)行傳遞 。 為什么要引入Lambda表

    2024年02月04日
    瀏覽(38)
  • Java中的lambda表達(dá)式

    Java中的lambda表達(dá)式

    目錄 一、背景 二、lambada表達(dá)式的基本使用 三、變量捕獲 四、lambda在集合中的使用(map和set) 五、優(yōu)缺點(diǎn) 一、背景 (1)、lambda表達(dá)式的定義: (2)、lambda表達(dá)式的語(yǔ)法: (3)、函數(shù)式接口 二、lambada表達(dá)式的基本使用 (1)沒(méi)有使用lambda表達(dá)式,簡(jiǎn)單調(diào)用函數(shù)式接口展

    2024年02月08日
    瀏覽(23)
  • Java 8 Lambda表達(dá)式詳解

    在Java 8中,引入了一種全新的函數(shù)編程概念,即Lambda表達(dá)式。這是一個(gè)重要的進(jìn)步,它讓Java的功能得以大幅擴(kuò)展,同時(shí)還讓代碼變得更加簡(jiǎn)潔明了。接下來(lái),我將詳細(xì)介紹Lambda表達(dá)式的相關(guān)知識(shí),包括其基本語(yǔ)法、使用場(chǎng)景和特性。 Lambda表達(dá)式基本的語(yǔ)法可以分為三個(gè)部分

    2024年02月08日
    瀏覽(48)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包