日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lambda 表达式的应用

發布時間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lambda 表达式的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

lambda表達式

  • 函數式接口:只有一個方法的接口,比如Runnable和Comparator

先看幾個 lambda 表達式的例子進行理解

(int x,int y) -> x + y //接收x和y兩個整形參數,并返回他們的和 () -> 66 //不接收任何參數直接返回66 (String name) -> {System.out.println(name);} //接收一個字符串然后打印出來 (View view) -> {view.setText("123");} //接受一個view對象并調用setText方法 復制代碼
  • lambda 表達式本質上是一個 由編譯器推斷并幫你轉換包裝為常規的代碼,因此你可以使用更少的代碼來實現同樣的功能
  • 是java se 8 中的一個重要新特性。lambda表達式允許你通過表達式來代替接口功能
  • 基本語法:

(parameters) -> expression 或

(parameters) ->{ statements; }

使用lambda 表達式遍歷集合

String[] stars = {"james", "kobe", "paul", "Anthony","rose", "love","jr", "Jordan "}; List<String> starList = Arrays.asList(stars); starList.forEach((star) -> System.out.println(star)); //或者 starList.forEach(System.out::println); 復制代碼

在使用匿名內部類的時候

  • 比如創建線程,不適用lambda表達式
new Thread(new Runnable() {@Overridepublic void run() {System.out.println(1);} }).start(); 復制代碼
  • 使用lambda 表達式
new Thread(()-> System.out.println(1)).start(); 復制代碼

集合排序

  • 不使用lambda 表達式
String[] stars = {"james", "kobe", "paul", "Anthony","rose", "love","jr", "Jordan "};Arrays.sort(stars, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o1.compareTo(o2);}}); 復制代碼
  • 使用lambda 表達式
Arrays.sort(stars,(String s1,String s2) -> (s1.compareTo(s2))); 復制代碼

stream和lamda的結合使用

  • 什么是stream
  • 若想要將一個集合中的某個屬性提取出來,比如下面這樣
List<Player>list = new ArrayList<>();list.add(new Player("kobe","lakers",31,30000));list.add(new Player("james","lakers",34,33000));list.add(new Player("paul","rocket",34,20000));list.add(new Player("hardon","rocket",31,20000));List<String> names = new ArrayList<>();for (Player player : list) {names.add(player.getName());}for (String name : names) {System.out.println(name);}復制代碼
  • 若使用lambda 表達式
List<String> names = list.stream().map(Player::getName).collect(Collectors.toList()); names.forEach(System.out::println); 復制代碼
  • 當然我們還可以進行更復雜一點的操作,給每個球員的分數加1000
list.forEach( s -> s.setScore(s.getScore() + 1000)); list.stream().map(Player::getScore).collect(Collectors.toList()).forEach(System.out::println);復制代碼
  • 也可以過濾出分數大于30000 年齡小于32 的球員
list.stream().filter((p) -> (p.getScore() > 30000)).filter((p) -> (p.getAge() < 32)).collect(Collectors.toList()).forEach(System.out::println); 復制代碼
  • 根據球員的分數來排序
list.stream().sorted((p1,p2) -> (p1.getScore()-p2.getScore())).collect(Collectors.toList()).forEach(System.out::println); 復制代碼

總結

以上是生活随笔為你收集整理的Lambda 表达式的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产原创中文av | 国产色视频在线 | 强行挺进白丝老师里呻吟 | 亚洲免费黄色片 | 国产精品伦一区 | 91精品一区二区三区综合在线爱 | 国产精品毛片久久久 | av私库在线观看 | 黄色三级免费观看 | 国产日韩在线观看视频 | 欧美一级免费观看 | 日本中文字幕第一页 | 日韩欧美在线中文字幕 | 欧美激情久久久 | 密色av| 久久免费高清 | 日本黄在线 | 金鱼妻日剧免费观看完整版全集 | 少妇裸体淫交视频免费看高清 | www.涩涩爱 | 综合婷婷 | 天堂网在线资源 | 日本在线免费观看 | 亚州av一区| 国产精品麻豆果冻传媒在线播放 | 青青在线观看视频 | 国产av人人夜夜澡人人爽麻豆 | av免费影院 | 超碰人人人人人人人 | 在线看黄色片 | 欧美日韩国产不卡 | 一级欧美一级日韩片 | 色亚洲影院| 青青草97国产精品免费观看 | 成人快色| 69堂精品| 国产91精品久久久久久久 | 中文字幕在线观看一区二区三区 | 欧美日韩国产色 | 欧美日韩在线免费看 | 免费播放毛片精品视频 | 国产在线中文字幕 | 成人在线视频播放 | 久久精品视频一区 | 狠狠a| 国产女人在线观看 | 成人入口 | 伊人久久综合影院 | 久久国产一区二区三区 | 三级全黄的视频 | 成人h动漫精品一区二区下载 | 女攻总攻大胸奶汁(高h) | 久久久.com | 国产精品sm | 神马国产 | 自拍偷拍另类 | 久久久艹 | 亚洲熟妇丰满大屁股熟妇 | 一色综合 | 肉色超薄丝袜脚交一区二区 | 精品人妻无码一区二区三区换脸 | 国产人人爱 | 国产一二精品 | 久久精品国产亚洲av麻豆图片 | 日韩国产第一页 | 日韩爱爱爱| 伊人久久久久久久久久久久 | www欧美色 | 黄色片网站免费在线观看 | 三级成人网| 在哪看毛片 | 男人av的天堂 | 这里只有精品视频在线 | 亚洲av成人精品午夜一区二区 | 国产综合精品在线 | 欧美高清一区二区三区四区 | 猛1被调教成公厕尿便失禁网站 | 中文字幕在线看高清电影 | 国产极品美女高潮无套在线观看 | 成人欧美在线视频 | 一区二区三区在线视频播放 | 中文字幕第5页 | 富二代成人短视频 | 日本午夜电影 | 欧美日韩免费在线视频 | 精品98| 青青色在线视频 | 加勒比色综合 | 成人免费毛片东京热 | 国产亚洲无码精品 | 亚洲成人免费在线视频 | 亚洲av男人的天堂在线观看 | 国产中文字幕在线免费观看 | 午夜蜜桃视频 | 884aa四虎影成人精品一区 | 18视频在线观看网站 | 精品久久久久久久久久久久 | 婷婷视频在线观看 | 日日操天天射 |