Java8 lambda表示式學習(3):filter操作
實現這樣一個功能,找到一個班裡數學分數高於90分的。
那還不簡單,廢話不多說,直接開擼。
void doSomeThing(List<Student> list) { List<Student> newList = new ArrayList<>(); for (Student student : list) { if (student.getScore() > 90) { newList.add(student); } } for (Student student : newList) { System.out.println(student.getName()); } }
醜,真滴醜,不忍直視的醜。
再看看這個
void doSomeThing(List<Student> list) {
List<Student> newList = list.stream().filter(item -> item.getScore() > 90).collect(Collectors.toList());
newList.forEach(item -> System.out.println(item.getName()));
}
是的,這就結束了。
當然還有變態的需求,找到第一個分數高於90分的。
哦
void doSomeThing(List<Student> list) {
Optional<Student> optionalStudent = list.stream().filter(item -> item.getScore() > 90).findFirst();
optionalStudent.ifPresent(student -> System.out.println(student.getName()));
}
轉載於::https://blog.csdn.net/xiang_36/article/details/80769898
相關推薦
Java8 lambda表示式學習(3):filter操作
實現這樣一個功能,找到一個班裡數學分數高於90分的。 那還不簡單,廢話不多說,直接開擼。 void doSomeThing(List<Student> list) { List<Student> newList = new ArrayLi
Java8 lambda表示式學習(1):匿名內部類
以往簡單地新建一個執行緒是這樣: public class MainApp { public static void main(String[] args) { new Thread(new Runnable() {
Java8集合中的Lambda表示式 ------與LambdaJ(集合操作)區別開來
Lambdas表示式是Java 8的主題,在Java平臺上我們期待了很久。但是,如果如果我們不在集合中使用它的話,就損失了很大價值。把現有介面遷移成為lambda風格介面的問題已經通過default methods,也就是defender methods解決了。在這篇文章裡面我們來看一看Java集合
Java8新特性之Lambda表示式學習二
大家好,又來到超超部落格大本營啦!歡迎大家...... 上一章我們講解了Lambda表示式的基礎語法,引數列表、變數等知識點,接下來我們接續探究Lambda的表示式、以及其中的方法引用。 一、Lambda的表示式: (1)如果表示式只有一行,那麼可以直接寫(不需要{}); (2)
Java8新特性之Lambda表示式學習一
剛畢業入職新工作,在職崗位培訓時,老師在操作集合老使用Lambda表示式。這使一個之前完全沒有接觸過Lambda表示式的少年甚是苦惱,看不懂,閒餘時間決定搞一搞Lambda表示式到底是啥東西?底層原理怎麼實現的,接下來我將我的學習成果一起分享
Java8 Lambda表示式與Stream API (一):Lambda表示式
你要知道的Java8 匿名內部類、函式式介面、lambda表示式與Stream API都在這裡 本文主要講解Java8 Stream API,但是要講解這一部分需要匿名內部類、lambda表示式以及函式式介面的相關知識,本文將分為兩篇文章來講解上述內容,讀
SpringBoot學習3:springboot整合filter
cep att ted () eat bean string spring 路徑 整合方式一:通過註解掃描完成 Filter 組件的註冊 1、編寫filter package com.bjsxt.filter; import javax.servlet.*; impor
java8 Lambda表示式的學習與測試
public class Employee { private String name; private String sex; private int age; public Employee(String name, String sex, int age) {
機器學習(3):信息論
clas spa strong nbsp 信息熵 機器 ont 應用 信息 1.信息熵 2.相對熵 3.互信息 4.交叉熵及深度學習的應用 機器學習(3):信息論
python3 學習 3:python爬蟲之爬取動態載入的圖片,以百度圖片為例
轉: https://blog.csdn.net/qq_32166627/article/details/60882964 前言: 前面我們爬取圖片的網站都是靜態的,在頁面中右鍵檢視原始碼就能看到網頁中圖片的位置。這樣我們用requests庫得到頁面原始碼後,再用bs4庫解析標籤即可儲存圖片
jdk8 lambda表示式總結 Java8 lambda表示式10個示例
Java8 lambda表示式10個示例 1. 實現Runnable執行緒案例 使用() -> {} 替代匿名類: //Before Java 8: new Thread(new Runnable() { @Override
Java8——Lambda表示式入門
之前一直有聽說過Lambda表示式,但是一直也沒有使用過,最近學習了一下,感覺還不錯,簡單方便,把原來需要很多行才能實現的功能可以直接一行實現。不過最好也不要盲目的使用,並不是所有情況都適合用它! 引用一段大佬的話——超過3行的邏輯就不適用Lambda表示式了。雖然看著很先進,其實Lambd
Java Builder模式 Lambda表示式 Java8 lambda表示式10個示例
Java Builder模式 package com.cathay;/** * @Description * @TODO * @Author [email protected] * @Date 建立時間:2018/11/16 **/public class Person { private
springboot學習(七):Filter \Listener \Interceptor的使用
說明 之前學了在springboot專案中過濾器、監聽器、攔截器的使用,在這裡記錄總結下。 正文 對於過濾器和監聽器,在springboot中可以使用兩種配置方式: 第一種,採用Servlet3.0的註解進行配置 @WebFilter @WebListener,使用此方式要在
java8--lambda表示式
java8中lambda表示式,類似c#中 lambda表示式,ES6中的箭頭函式 。 定義: 若java 介面中只有一個抽象方法,我們new 這個介面的例項時需要實現這個唯一的抽象方法,除此之外我們還可以使用一種新的表達方式來new這個介面的例項物件,這就是
Java8-lambda表示式總結
lambda表示式總結 lambda表示式是java8新特性,主要有如下極大用處 1.簡化匿名內部類 public class LambdaDemo { @Test public void test01() { // 使用匿名內部類
LIVE555學習3:live555MediaServer講解——Live555從啟動到響應Client過程分析
文章目錄 1 概述 2 程式碼分析 2.1 doEventLoop 2.2 計劃任務 2.3 RTSP服務 2.3.1 呼叫關係 2.3.2 Server監聽埠的建立 2.3.3 計劃任務
Java8 Lambda表示式原理掃盲
背景 在使用Lamdba表示式,一直以為是內部類的方式實現的,但是一想如果每次呼叫都例項化一個內部類,效能肯定不好,難道Java裡的lambda表示式真的是這麼實現的嗎?也許是該研究下原理了。 正文 測試程式碼: public class Test{ public void test
node學習七:檔案操作
檔案操作涉及到了nodejs設計思想中的非同步I/O(檔案操作、網路操作) 非同步程式設計: 非同步I/O input/output: 1、檔案操作 2、網路操作 在瀏覽器中也存在非同步操作: 1、定時任務 2、事件處理 3、Ajax回撥處理 js的執行時單執行緒的單執行緒存
node學習六:路徑操作
首先需要匯入path模組: const path = require('path'); path.basename(path[,.ext]): // 獲取路徑的最後一部分 console.log(path.basename('/foo/bar/baz/asdf/quux.html'));