<span id="35v3v"><th id="35v3v"></th></span>
<address id="35v3v"></address>

    <address id="35v3v"></address>
      <address id="35v3v"><listing id="35v3v"><meter id="35v3v"></meter></listing></address>
        <listing id="35v3v"><listing id="35v3v"></listing></listing>

        <listing id="35v3v"><listing id="35v3v"><menuitem id="35v3v"></menuitem></listing></listing>

        <noframes id="35v3v"><noframes id="35v3v">
        當前位置: 首頁 / 技術分享 / 正文
        JDK8新特性-Lambda表達式

        2022-12-29

        lambda 集合 表達式 語句   

          Lambda表達式是JDK8的一個新特性,Lambda可以取代大部分的匿名內部類,寫出更優雅的Java代碼,尤其在集合的遍歷和其他集合操作中,可以極大地優化代碼結構。JDK也提供了大量的內置函數式接口供我們使用,使得Lambda表達式的運用更加方便、高效。

          Lambda表達式由參數列表、箭頭符號->和函數體組成。函數體既可以是一個表達式,也可以是一個語句塊。其中表達式會被執行,然后返回執行結果;語句塊中的語句會被依次執行,就像方法中的語句一樣。

          Lambda表達式常用的語法格式如下表。

        1

          接下來通過一個案例來學習Lambda表達式語法。

          import java.util.Arrays;

          public class Example28 {

          public static void main(String[] args) {

          String[] arr = {"program", "creek", "is", "a", "java", "site"};

          Arrays.sort(arr, (m, n) -> Integer.compare(m.length(), n.length()));

          System.out.println("Lambda語句體中只有一條語句,參數類型可推斷:" + Arrays.toString(arr));

          Arrays.sort(arr, (String m, String n) -> {

          if (m.length() > n.length())

          return -1;

          else

          return 0;

          });

          System.out.println("Lambda語句體中有多條語句:" + Arrays.toString(arr));

          }

          }

          上述代碼中,定義了一個字符串數組arr,使用了兩種Lambda表達式語法對字符串數組arr進行了排序。其中,第一種是用compare()方法比較字符串的長度來進行排序;第二種是使用if…else語法比較字符串的長度來進行排序。

          8 本章小節

          本章詳細介紹了幾種Java常用集合類,首先介紹了集合的概念和Collection接口;其次介紹了List接口,包括ArrayList、LinkedList、Iterator和foreach循環;接著介紹了Set接口,包HashSet集合和TreeSet集合;然后Map接口,包括HashMap和TreeMap;最后介紹了泛型,包括泛型類、泛型對象、泛型接口和類型通配符。

          最后還介紹了JDK8的一個新特性——Lambda表達式。通過本章的學習,讀者可以熟練掌握各種集合類的使用場景,以及需要注意的細節,同時可以掌握泛型與Lambda表達式的使用。

        分享: 更多

        上一篇:泛型類和泛型對象

        下一篇:YARN的調度器

        好程序員公眾號

        • · 剖析行業發展趨勢
        • · 匯聚企業項目源碼

        好程序員開班動態

        More+
        • HTML5大前端 <高端班>

          開班時間:2021-04-12(深圳)

          開班盛況

          開班時間:2021-05-17(北京)

          開班盛況
        • 大數據+人工智能 <高端班>

          開班時間:2021-03-22(杭州)

          開班盛況

          開班時間:2021-04-26(北京)

          開班盛況
        • JavaEE分布式開發 <高端班>

          開班時間:2021-05-10(北京)

          開班盛況

          開班時間:2021-02-22(北京)

          開班盛況
        • Python人工智能+數據分析 <高端班>

          開班時間:2021-07-12(北京)

          預約報名

          開班時間:2020-09-21(上海)

          開班盛況
        • 云計算開發 <高端班>

          開班時間:2021-07-12(北京)

          預約報名

          開班時間:2019-07-22(北京)

          開班盛況
        在線咨詢
        試聽
        入學教程
        立即報名

        Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號

        黑人100部Av解禁片
        <span id="35v3v"><th id="35v3v"></th></span>
        <address id="35v3v"></address>

          <address id="35v3v"></address>
            <address id="35v3v"><listing id="35v3v"><meter id="35v3v"></meter></listing></address>
              <listing id="35v3v"><listing id="35v3v"></listing></listing>

              <listing id="35v3v"><listing id="35v3v"><menuitem id="35v3v"></menuitem></listing></listing>

              <noframes id="35v3v"><noframes id="35v3v">